请教一个 static 和泛型的问题。
现在我有一个类,不得不使用泛型,定义如下
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;
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 中不允许直接创建泛型数组。本文分析了其中原因并且总结了一些创建泛型数组的方式。具有很好的参考价值。下面跟着小编一起来看下吧
java泛型数组
泛型数组的创建
Java泛型使用
Java泛型使用 1. 泛型 1.1 什么是泛型,为什么引入泛型 在项目中,我们的功能代码往往要考虑之后的复用!!!这要求功能代码尽可能的支持更多类型,在不考虑泛型的情况下,如果需要更换数据类型,只能重新完成对应数据类型的功能代码。有可能出现各式各样的类型,工作是重复的!!! 这里不单单是对于功能模块的要求封装。同时需要对数据类型进行统一的约束!!!根据用户的要求对应数据类型。 Java的泛型就是来解决对应的问题 格式: 泛型可以在方法中使用 泛型可以在类中使用 泛型可以在接口中使用 1.2 泛型可以在方法中使用 使用静态方法举例说明泛型在方法中的使用格式 格式: public
C#泛型设计需要注意的一个小陷阱
主要给大家介绍了关于C#泛型设计需要注意的一个小陷阱,文中通过示例代码以及图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
Java泛型定义与用法实例详解
主要介绍了Java泛型定义与用法,结合实例形式较为详细的分析了Java中泛型的概念、原理、定义、使用方法及相关操作注意事项,需要的朋友可以参考下


Java SE
