4

在 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>();
4

1 回答 1

3

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

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

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

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

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

于 2013-09-25T11:38:47.377 回答