[英]How to assign variables from an array in one line
有没有一种优雅的方法可以执行以下操作:让int [] makeArray()是一个返回长度为2的整数数组的方法。 然后
int[] t = makeArray(); int ta = t[0]; tb = t[1];
会更好
int[] {ta,tb} = makeArray();
除非makeArray()
在每次调用后都返回相同的数组makeArray()
否则我假设不是由于其名称)。 如果是这种情况,则可以编写:
int ta = makeArray()[0];
int tb = makeArray()[1];
否则,将从makeArray()
返回的值需要进行缓存,以便可以将其用于设置makeArray()
的变量。
您正在描述的是返回多个值,这很好,但在Java中不受支持,您必须将它们包装在object中 。
但是,根据您的用例,您可以使用lambda重构为一些精美的东西,例如下面的代码,我重新排列了该makeArray
使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);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.