繁体   English   中英

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

[英]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来处理数组数据。 您也可以轻松地获得回报。 更改BiConsumerBiFunction ,并有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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM