如何在单个语句中定义多个变量

Nas*_*din 7 java arrays

在Python中,我可以在一行中定义两个带有数组的变量.

>>>[a,b] = [1,2]
>>>a
1
>>>b
2
Run Code Online (Sandbox Code Playgroud)

我如何用Java做同样的事情?

我在PCT类中有几个变量,类型是最终的.有没有办法像Python一样在一行中定义它们?以下格式显然不适用于Java.我可以单独定义它们,但它会调用parseFile方法两次,我想避免.

public class PCT {
    final int start;
    final int stop;
    public PCT (File file) {
        //......
        //......
        // the following statement does not compile
        [start, stop] = parseFile(file);
    }
    public int[] parseFile(File f) {
        int[] aa = new int[2];
        // ....
        // ....
        return aa;
    }
}
Run Code Online (Sandbox Code Playgroud)

Sye*_*ain 7

您可以像这样定义多个变量:

double a,b,c;
Run Code Online (Sandbox Code Playgroud)

一行中的每个变量也可以分配给特定值:

double a=3, b=5.2, c=3.5/3.5;
Run Code Online (Sandbox Code Playgroud)

还有一个方面是,当您在同一行中准备公共类型变量时,从右侧分配的变量可以在左侧分配变量,例如:

int a = 4, b = a+1, c=b*b;
Run Code Online (Sandbox Code Playgroud)

注意,您还可以通过保留在同一行来对变量进行算术运算.


Jer*_*nes 5

这是不可能的,但您也不需要调用parseFile两次.

像这样写你的代码:

int [] temp = parseFile(file);
start = temp[0];
stop = temp[1];
Run Code Online (Sandbox Code Playgroud)

Python(我相信)支持多个返回值.Java遵循C约定,因此不允许它.由于这不是语言的一部分,因此它的语法也不是,这意味着temp如果您正在进行多次返回,则需要像数组一样的粗略黑客攻击.