在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>();发布于 2013-09-25 19:38:47
您可以以(空)类的形式定义新类型:
class Type1 extends List<MyClass4<MyClass5>> { }
class Type2 extends MyClass<MyClass2, MyClass3, Type1> { }
List<Type2> my_list= new List<Type2>();当然,您可能会失去泛型的一些灵活性,但对于一些常用的组合,甚至可能作为内部类,您也可以这样做。
https://stackoverflow.com/questions/19002980
复制相似问题