Java在变量定义外部声明数组
我正在寻找一种直接给java数组赋值的方法,例如,在它的声明之外Java在变量定义外部声明数组,java,arrays,declaration,Java,Arrays,Declaration,我正在寻找一种直接给java数组赋值的方法,例如,在它的声明之外 /*this works*/ int a[] = {1,2,3}; /*this doesn't*/ a = {1,2,3}; 这样做的动机是,可以像这样使用带有数组作为参数的方法 public void f(int a[]) { /*do stuff*/ } f({1,2,3}); 而不是 int a[] = {1,2,3}; f(a); 您可以使用静态块来完成所需的操作。请记住,这是在第一次加载类时执行的 priv
/*this works*/
int a[] = {1,2,3};
/*this doesn't*/
a = {1,2,3};
这样做的动机是,可以像这样使用带有数组作为参数的方法
public void f(int a[]) {
/*do stuff*/
}
f({1,2,3});
而不是
int a[] = {1,2,3};
f(a);
您可以使用静态块来完成所需的操作。请记住,这是在第一次加载类时执行的
private static int a[];
static {
a = new int[] {1,2,3};
f(new int[]{1,2,3});
}
public static void f(int a[]) {
///
}
您可以使用静态块来完成所需的操作。请记住,这是在第一次加载类时执行的
private static int a[];
static {
a = new int[] {1,2,3};
f(new int[]{1,2,3});
}
public static void f(int a[]) {
///
}
尝试:
尝试:
一般来说,你可以说
int[] a;
a = new int[]{1,2,3};
在代码中的任意位置初始化数组。通常可以这样说
int[] a;
a = new int[]{1,2,3};
要在代码中的任意位置初始化数组,请尝试:
a = new int[] {1,2,3};
尝试:
作为一种更简洁的替代方法,您可以使用variable parameters功能,这仍然适用于传入数组——这只是语法上的糖分
public void f(int... a) {
/*do stuff*/
}
public void test() {
f(1);
f(1,2,3);
f(new int[]{1,2,3});
}
作为一种更简洁的替代方法,您可以使用variable parameters功能,这仍然适用于传入数组——这只是语法上的糖分
public void f(int... a) {
/*do stuff*/
}
public void test() {
f(1);
f(1,2,3);
f(new int[]{1,2,3});
}
你是说一个文字数组吗?这似乎与静态无关。“文字数组”是我想要的术语。我不知道正确的名称你是说文字数组吗?这似乎与静态无关。“文字数组”是我想要的术语。根据回答,我不知道正确的名称,看起来你要求声明一个数组而不是“静态”数组。“是的,我误用了“静态”这个词”——你能告诉我们静态和引用之间的区别吗?public void f(int a[])在方法调用点为您提供实际数组,然后您可以将其用作实际数组。根据响应,您似乎要求声明一个数组而不是“静态”数组。“是的,我误用了“静态”一词”--您能告诉我们静态和引用之间的区别吗?public void f(int a[])提供了方法调用点处的实际数组,您可以将其用作实际数组。我通过小写字母声明我的个性,并指出“]”和“{”之间没有空格。我允许我们的差异。我通过小写字母声明我的个性,并指出“]”和“{”之间没有空格{我会允许我们的分歧。