通用的Java短名称

时间:2013-09-25 10:54:43

标签: java generics types

当使用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>();

1 个答案:

答案 0 :(得分:3)

您可以以(空)类的形式定义新类型:

class Type1 extends List<MyClass4<MyClass5>> { }

class Type2 extends MyClass<MyClass2, MyClass3, Type1> { }

List<Type2> my_list= new List<Type2>();

当然你会失去一些通用的灵活性,但也许你可以为一些常用的组合做这个,甚至可能作为内部类。