在Java中创建元组的最简单方法是什么?

6

有没有一种简单的方法在Java中创建一个2元组?我想通过创建一个类并将变量声明为final来实现。这样行得通吗?


1
final变量将正常工作。请查看此问题以获取通用元组类:https://dev59.com/s3E85IYBdhLWcg3wqVX5 - Marc Baumbach
"这个会有效吗?" 当你尝试过它后,发生了什么事情? - Andrew Thompson
3个回答

7
这很简单:
public class Pair<S, T> {
    public final S x;
    public final T y;

    public Pair(S x, T y) { 
        this.x = x;
        this.y = y;
    }
}

2

是的。最佳实践是将字段设为私有,并提供getter方法。

对于许多人(包括语言设计者中的大多数人),元组的概念与Java的强类型哲学相悖。他们更喜欢一个特定于用例的类,如果这个类只有两个getter方法而没有其他方法,那就这样吧。


0

我更喜欢使用私有变量和getter,而不是setter。 当然,在构造函数中设置变量。 然后可以实现可迭代性。


Iterable 可能不太合适。Iterable<T> 用于一些具有某种数量的元素,所有元素都是类型 T 的情况。而元组通常是异构结构(其两个元素可能是不同类型的)。 - yshavit

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接