返回数组而不分配给变量

时间:2012-02-17 16:22:25

标签: 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;
    }
}

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

public int[] getData() {
    return {a,b,c,d};
}

5 个答案:

答案 0 :(得分:73)

即使您没有将数组分配给变量,仍需要创建数组。试试这个:

public int[] getData() {
    return new int[] {a,b,c,d};
}

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

答案 1 :(得分:3)

public int[] getData() {
    return new int[]{a,b,c,d};
}

答案 2 :(得分:3)

您构建了函数返回的对象,以下内容可以解决您的问题。

public int[] getData() {
    return new int[]{a,b,c,d};
}

希望这会有所帮助

答案 3 :(得分:1)

return new Integer[] {a,b,c,d}; // or
return new int[] {a,b,c,d};

答案 4 :(得分:0)

public class CentsToDollars {

    public static int[] getCentsToDollars(int cents) {
        return new int[] { cents / 100, cents % 100 };
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scan = new Scanner(System.in);
        int cents;
        System.out.print("Input the cents: ");
        cents = scan.nextInt();
        int[] result = getCentsToDollars(cents);
        System.out.println("That is " + result[0] + " dollars and " + result[1] + " cents");
        scan.close();
    }
}