作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
在 java 中大量使用泛型进行编程时,通常会有许多嵌套的泛型:
List<MyClass<MyClass2,MyClass3,List<MyClass4<MyClass5>>> my_list= new LinkedList<MyClass<MyClass2,MyClass3,List<MyClass4<MyClass5>>>();
虽然这“有效”,但结果代码的可读性受到影响。有没有办法避免这个问题?
是否可以定义一个新的“临时类型”?
type1= List<MyClass4<MyClass5>>;
type2= MyClass<MyClass2,MyClass3,type1>;
List<type2> my_list= new List<type2>();
最佳答案
您可以以(空)类的形式定义新类型:
class Type1 extends List<MyClass4<MyClass5>> { }
class Type2 extends MyClass<MyClass2, MyClass3, Type1> { }
List<Type2> my_list= new List<Type2>();
当然你会失去泛型的一些灵 active ,但也许你可以对一些常用的组合这样做,甚至可能作为内部类。
关于泛型的 Java 简称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19002980/
我是一名优秀的程序员,十分优秀!