有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何从函数返回多个值。

这是一个逻辑问题,而不是特定于代码的问题,我有大约二十个函数,每个函数计算两个我感兴趣的值。但是,我只能从函数返回一个值。现在我的另一个选择是创建一个类,并使用全局变量实现setter和getter。我想知道这是否是一个可行的和推荐的方法?还是有更好的方法


共 (6) 个答案

  1. # 1 楼答案

    有很多方法:集合、数组。。。 在我看来,唯一的方法就是用这些值定义一个类。 如果不需要调节内容的可见性,则不需要getter和setter方法

    class MyReturnValue {
      public int a;
      public int b;
    }
    

    在代码中:

    ...
    MyReturnValue result=new MyReturnValue();
    result.a=5;
    result.b=6;
    
    return result;
    
  2. # 2 楼答案

    不要使用全局变量!使用一些将数据作为私有文件的类,并为其提供getter。喜欢

    class Pair<A,B> {
        final A one;
        final B two;
        public Pair(A fst, B snd) { one = fst; two = snd; }
        public A getFst() { return one; }
        public B getSnd() { return two; }
    }
    

    然后你可以在其他地方说:

        return new Pair(42, "a result");
    
  3. # 3 楼答案

    最好创建一个类并使用全局变量实现setter和getter,而不是根据您的使用进一步返回集合

  4. # 4 楼答案

    从包含您感兴趣的值的函数返回一个Collection

  5. # 5 楼答案

    您必须返回Listarray

    但是如果return类型不同,您可以创建自定义类并将其用作返回类型

    范例

    public class Result {
       private String name;
       private int age;
    
      // getters and setters;   
    }
    

    现在你可以做如下的事情

    public static Result getInfo(){
        Result result=new Result();
        result.setName("name");
        result.setAge(10);
        return result;//now you can have String and int values return from the method
    }
    
  6. # 6 楼答案

    这取决于问题。但有两种解决方案:

    1. 创建所有这些函数将返回哪些实例的新类。对于每个需要的答案,这个类将有2个属性
    2. 返回包含这2个答案的数组或集合