是否有一种优雅的方式来执行以下操作:let int [] makeArray()是一个方法 返回长度为2的整数数组。然后
int[] t = makeArray(); int ta = t[0]; tb = t[1];
Nicer将是
int[] {ta,tb} = makeArray();
答案 0 :(得分:0)
除非makeArray()
在每次调用后返回相同的数组(我假设它不是由于其名称),否则没有。但是,如果是这种情况,您可以写:
int ta = makeArray()[0];
int tb = makeArray()[1];
否则,需要缓存从makeArray()
返回的值,以便可以使用它来设置其后面的变量。
答案 1 :(得分:-1)
你所描述的是返回多个值,这样会很好isn't supported in java, you have to wrap them in an object。
但是根据您的使用情况,您可以使用lambdas重构一些优雅的东西,例如:以下我已重新排列,以便makeArray
成为withDataArray
,然后传递一个lambda来处理数组数据。你也可以轻松地获得回报。将BiConsumer
更改为BiFunction
并使用withDataArray返回BiFunction
public static void main(String[] args){
withDataArray( (a,b) -> {
System.out.println(a+b);
});
}
public static void withDataArray(BiConsumer<Integer, Integer> applier){
applier.accept(1,2);
}