有没有一种简单的方法在Java中创建一个2元组?我想通过创建一个类并将变量声明为final来实现。这样行得通吗?
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;
}
}
是的。最佳实践是将字段设为私有,并提供getter方法。
对于许多人(包括语言设计者中的大多数人),元组的概念与Java的强类型哲学相悖。他们更喜欢一个特定于用例的类,如果这个类只有两个getter方法而没有其他方法,那就这样吧。
我更喜欢使用私有变量和getter,而不是setter。 当然,在构造函数中设置变量。 然后可以实现可迭代性。
Iterable<T>
用于一些具有某种数量的元素,所有元素都是类型 T
的情况。而元组通常是异构结构(其两个元素可能是不同类型的)。 - yshavit
final
变量将正常工作。请查看此问题以获取通用元组类:https://dev59.com/s3E85IYBdhLWcg3wqVX5 - Marc Baumbach