【发布时间】:2015-05-14 01:06:26
【问题描述】:
有没有什么方法可以在 Java 中创建Tuple,而不必创建多个类?
例如,可以为每个不同类型的 Tuple 创建一个不同的类,每个都有不同数量的Type Parameters:
public class SingleTuple<T>{}
public class DoubleTuple<T1, T2>{}
public class TripleTuple<T1, T2, T3>{}
public class QuadraTuple<T1, T2, T3, T4>{}
public class PentaTuple<T1, T2, T3, T4, T5>{}
也可以通过这样做来创建一个没有任何Type Parameters 的元组对象:
public class Tuple{
private Object[] objects;
public Tuple(Object... objects){
this.objects = objects;
}
public Object get(int index){
return this.objects[index];
}
}
除非使用 this,否则一旦从元组中取出所有对象,都必须将它们转换为正确的子类,使其类似于 ArrayList<Object>,但功能较少。
有没有办法只创建一个单一的类,并有多个 Type Parameters 而不定义所有它们(如在第一个示例中),使用类似的东西?
public class Tuple<T...>{
}
【问题讨论】: