当使用java中的泛型进行大量编程时,通常会有许多嵌套泛型:
List<MyClass<MyClass2,MyClass3,List<MyClass4<MyClass5>>> my_list= new LinkedList<MyClass<MyClass2,MyClass3,List<MyClass4<MyClass5>>>();
虽然这&#34;工作&#34;,但结果代码的可读性受到影响。有没有办法避免这个问题?
是否可以定义一个新的&#34;临时类型&#34;?
type1= List<MyClass4<MyClass5>>;
type2= MyClass<MyClass2,MyClass3,type1>;
List<type2> my_list= new List<type2>();
答案 0 :(得分:3)
您可以以(空)类的形式定义新类型:
class Type1 extends List<MyClass4<MyClass5>> { }
class Type2 extends MyClass<MyClass2, MyClass3, Type1> { }
List<Type2> my_list= new List<Type2>();
当然你会失去一些通用的灵活性,但也许你可以为一些常用的组合做这个,甚至可能作为内部类。