请教一个 static 和泛型的问题。

sacrefies sacrefies 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
现在我有一个类,不得不使用泛型,定义如下

1 public final class DataService<E> implements ServiceBase<E>
2 {
3 private DataService(){}
4
5
6 private static Object instance;
7
8 public static <T> ServiceBase<T> getService()
9 {
10 // singleton implementation ...
11 if (instance == null)
12 instance = new DataService<T>();
13 .....
14 return (ServiceBase<T>) instance;
15 }
16 }


现在这样的逻辑,在 14 行有警告,但是我实在没有办法才采用这样的方式来实现泛型,原因是,如果 6 行的 instance 如果定义为

6 private static ServiceBase<E> instance;

那么立刻就会有编译错误,因为静态是不允许处理这样的泛型类型定义的。


有没有很好的解决方案,能帮助我实现下面的目标逻辑呢?

6 private static ServiceBase<E> instance;

14 return instance;
...全文

相关推荐

Java 泛型总结(二):泛型与数组

数组与泛型的关系还是有点复杂的,Java 中不允许直接创建泛型数组。本文分析了其中原因并且总结了一些创建泛型数组的方式。具有很好的参考价值。下面跟着小编一起来看下吧

weixin_38722464

java泛型数组

泛型数组的创建

黑谷子

Java泛型使用

Java泛型使用 1. 泛型 1.1 什么是泛型,为什么引入泛型 在项目中,我们的功能代码往往要考虑之后的复用!!!这要求功能代码尽可能的支持更多类型,在不考虑泛型的情况下,如果需要更换数据类型,只能重新完成对应数据类型的功能代码。有可能出现各式各样的类型,工作是重复的!!! 这里不单单是对于功能模块的要求封装。同时需要对数据类型进行统一的约束!!!根据用户的要求对应数据类型。 Java的泛型就是来解决对应的问题 格式: 泛型可以在方法中使用 泛型可以在类中使用 泛型可以在接口中使用 1.2 泛型可以在方法中使用 使用静态方法举例说明泛型在方法中的使用格式 格式: public

weixin_38685882

C#泛型设计需要注意的一个小陷阱

主要给大家介绍了关于C#泛型设计需要注意的一个小陷阱,文中通过示例代码以及图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

weixin_38726007

Java泛型定义与用法实例详解

主要介绍了Java泛型定义与用法,结合实例形式较为详细的分析了Java中泛型的概念、原理、定义、使用方法及相关操作注意事项,需要的朋友可以参考下

weixin_38735119
评论 8
收藏 已收藏
分享
返回顶部
sacrefies
Java SE 62,620 成员 307,251 内容