Java元组没有创建多个类型参数

Joj*_*dmo 0 java tuples

有没有办法Tuple在Java中创建,而不必创建多个类?

例如,可以为每个不同类型的元组创建一个不同的类,每个类具有不同的数量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>{}
Run Code Online (Sandbox Code Playgroud)

并且还可以通过以下方式创建一个没有任何元组的Tuple对象Type Parameters:

public class Tuple{

    private Object[] objects;

    public Tuple(Object... objects){
        this.objects = objects;
    }

    public Object get(int index){
        return this.objects[index];
    }
}
Run Code Online (Sandbox Code Playgroud)

除非使用它,否则一旦将它们从元组中取出,所有对象都必须被转换为正确的子类,使其像一个ArrayList<Object>但具有较少的特征.

有没有办法只创建一个单一的类,并且有多个Type Parameters没有定义所有这些(如第一个例子中),使用这样的东西?

public class Tuple<T...>{

}
Run Code Online (Sandbox Code Playgroud)

Sot*_*lis 5

不.如果您想要类型安全,则必须像在第一个代码段中一样创建它们.例如,有些库为你这样做,jOOL.