如何从java中的方法返回两个值(1.Collection,2.Single Boolean值),花费更少?

Cha*_*har 2 java methods boolean return

我有一个Main类和VOCollection类.在主类中有一个名为getStatus()的方法,从这个方法只有我得到一些状态(true,false),如果状态为true,我需要返回一个集合.目前我有两个想法,但两者都很昂贵.

  1. 返回映射,它很昂贵,因为为集合设置布尔会使代码混淆,只有一个布尔值就足够了(但我们返回多个).

  2. 在VOCollection类中创建实例变量,并使用getter和setter来获取和设置布尔值.这也很贵.(在另一个类中创建变量).

给我更便宜的解决方案.

小智 5

有很多方法可以做到这一点:

  • 返回null表示没有像java.util.Map.get()那样存在的东西
  • 创建自定义类以返回两个参数.(见其他答案)
  • 对其中一个返回值使用1个元素数组.布尔方法(List [] result){result [0] = answer; 返回标志; }
  • 使用像Google Guava这样具有Pair/Tuple类的库:Pair method(){return new Pair(flag,answer); }
  • 更改您的代码,以便它不是必需的,这通常是正确的答案.查看异常注释或更改传递方式.