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};
}
答案 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();
}
}