Java 如何在一行中分配数组中的变量

Java 如何在一行中分配数组中的变量,java,arrays,variable-assignment,Java,Arrays,Variable Assignment,是否有一种优雅的方法来执行以下操作:让int[]makeArray()成为一个方法 返回一个长度为2的整数数组。然后 int[] t = makeArray(); int ta = t[0]; tb = t[1]; 那就更好了 int[] {ta,tb} = makeArray(); 您描述的是返回多个值,这很好,但是 但是,根据您的使用情况,您可以使用lambda将其重构为一些优雅的东西,例如,我重新安排了以下内容,使makeArray变成withDataArray,您将lambda传递给

是否有一种优雅的方法来执行以下操作:让int[]makeArray()成为一个方法 返回一个长度为2的整数数组。然后

int[] t = makeArray(); int ta = t[0]; tb = t[1];
那就更好了

int[] {ta,tb} = makeArray();

您描述的是返回多个值,这很好,但是

但是,根据您的使用情况,您可以使用lambda将其重构为一些优雅的东西,例如,我重新安排了以下内容,使
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);
}
publicstaticvoidmain(字符串[]args){
withDataArray((a,b)->{
系统输出打印项次(a+b);
});
}
带有DataArray的公共静态void(双消费者应用程序){
申请者接受(1,2);
}

除非
makeArray()
在每次调用后返回相同的数组(我假设它不是因为它的名称而返回的)。但是,如果是这种情况,您可以写:

int ta = makeArray()[0];
int tb = makeArray()[1];

否则,需要缓存从
makeArray()
返回的值,以便可以使用它来设置跟随它的变量。

您是在尝试基于
ta
tb
的值创建数组,还是在尝试将数组中的值解析为
ta
tb