返回数组而不分配给变量

Ale*_*cia 45 java arrays

有没有办法在java中返回一个新数组而不先将它分配给变量?这是一个例子:

public class Data {
    private int a;
    private int b;
    private int c;
    private int d;
    public int[] getData() {
        int[] data = { a, b, c, d };
        return data;
    }
}
Run Code Online (Sandbox Code Playgroud)

我想做这样的事,但不起作用:

public int[] getData() {
    return {a, b, c, d};
}
Run Code Online (Sandbox Code Playgroud)

Per*_*ion 83

即使不将其分配给变量,仍需要创建数组.试试这个:

public int[] getData() {
    return new int[] {a,b,c,d};
}
Run Code Online (Sandbox Code Playgroud)

您的代码示例不起作用,因为编译器仍然需要知道您尝试通过静态初始化创建的类型{}.


gar*_*ris 7

您已经构造了函数返回的对象,以下内容应该可以解决您的问题。

public int[] getData() {
    return new int[]{a,b,c,d};
}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助