不创建多个类型参数的Java元组

不创建多个类型参数的Java元组,java,tuples,Java,Tuples,有没有办法在Java中创建一个类,而不必创建多个类 例如,可以为每个不同类型的元组创建不同的类,每个元组具有不同数量的: 除非使用了此选项,否则一旦将所有对象从元组中取出,就必须将其转换为正确的子类,使其类似于ArrayList,但功能较少 有没有办法只创建一个单一类,然后使用这样的方法创建多个类,而不定义所有类(如第一个示例中所示) public class Tuple<T...>{ } 公共类元组{ } 没有。如果您想要类型安全性,您必须像在第一个代码段中介绍的那样创建它们。

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

例如,可以为每个不同类型的元组创建不同的类,每个元组具有不同数量的:

除非使用了此选项,否则一旦将所有对象从元组中取出,就必须将其转换为正确的子类,使其类似于
ArrayList
,但功能较少

有没有办法只创建一个单一类,然后使用这样的方法创建多个类,而不定义所有类(如第一个示例中所示)

public class Tuple<T...>{

}
公共类元组{
}

没有。如果您想要类型安全性,您必须像在第一个代码段中介绍的那样创建它们。例如,有些库可以为您执行此操作。

不。如果您想要类型安全性,您必须像在第一个代码段中介绍的那样创建它们。例如,有些库可以为您执行此操作。

有一个可怕的解决方法

您只需要一个类
。然后,您可以使用一对
而不是
四元组

要从中获得
T3
,必须编写
t3t3=quadrauple.second().second().first()。它是类型安全的,可以扩展到任意数量的参数

永远不要这样做。

有一个可怕的解决办法

您只需要一个类
。然后,您可以使用一对
而不是
四元组

要从中获得
T3
,必须编写
t3t3=quadrauple.second().second().first()。它是类型安全的,可以扩展到任意数量的参数


永远不要这样做。

我用Java设计了一个库,它实现了一个类型不安全的元组(
tuple
类),灵感来自Python语言的元组。 与其他答案一样,如果您想在Java中实现类型安全性,那么应该为元组的每个元素定义一个泛型类型。或者,您可以在运行时检查预期的类型,并捕获一种Java异常。我的库还公开了一个类型化元组(
BoundTuple
class),它允许在运行时执行更严格的类型检查,以便在必要时最大限度地减少编程错误。要执行严格的类型检查,开发人员必须创建一个模式(
TupleSchema
class),并且在对绑定的元组实例调用
get()
方法时必须指定预期的类型

我邀请您在GitHub上查看我的存储库:


这个元组实现对我来说非常有用,我一直在许多其他项目中采用它。

我用Java设计了一个库,它实现了一个类型不安全的元组(
tuple
类),灵感来自Python语言的元组。 与其他答案一样,如果您想在Java中实现类型安全性,那么应该为元组的每个元素定义一个泛型类型。或者,您可以在运行时检查预期的类型,并捕获一种Java异常。我的库还公开了一个类型化元组(
BoundTuple
class),它允许在运行时执行更严格的类型检查,以便在必要时最大限度地减少编程错误。要执行严格的类型检查,开发人员必须创建一个模式(
TupleSchema
class),并且在对绑定的元组实例调用
get()
方法时必须指定预期的类型

我邀请您在GitHub上查看我的存储库:

这个元组实现对我来说非常有用,我一直在许多其他项目中采用它

public class Tuple{

    private Object[] objects;

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

    public Object get(int index){
        return this.objects[index];
    }
}
public class Tuple<T...>{

}