在 Java 中返回一对值的最佳方法是什么?

2022-08-31 19:50:31

这是一个小问题,因为我可以很容易地鞭打一对类来完成这项工作。不过,我真的不想这样做,我觉得应该有一些简单的,内置的,类似java的方式来返回两个值。你们最好,最简单的方法是什么?阵 列?其他一些数据结构?


答案 1

据我所知,不幸的是,Java中没有一对的内置表示(我当然希望有)。就个人而言,当我编写一个项目时,我发现一对类通常是有用的,我创建了一个泛型类(这可能是你想到的)。返回数组是一种快速而简单的方法,但您以后可能会后悔,因为使用您的方法的人会想知道该方法是否可能在某些时候返回两个以上的值。Pair<T, U>

无论你选择哪种解决方案:每当你觉得你需要一个 Pair 时,你应该考虑今天通过使用例如通用 Pair 类节省的时间是否真的值得将信息丢失给下一个阅读代码的人(六个月后这个人很可能是你)。现在,为返回类型编写单独的类需要更多时间,但它会向使用您的方法的用户传达更多信息(即,它告诉用户返回值表示什么,并包含两个值的有用成员名称)。但是,如果它是一种只在少数地方使用的非公共方法,则 Pair更容易接受。


答案 2

使用容器类是最简单的方法。

 public class Pair<T, U> {         
    public final T t;
    public final U u;

    public Pair(T t, U u) {         
        this.t= t;
        this.u= u;
     }
 }

推荐