我想在一个方法中使用一个数组,该方法是在同一个类的另一个方法中创建的。
public class Class1 {
public static String[] method1() {
String[] array = new String[5];
array[0] = "test";
return array;
}
public void method2() {
System.out.println(array[0]);
}
}
答案 0 :(得分:1)
可以像下面这样做:
public class Class1 {
public static String[] method1() {
String[] array = new String[5];
array[0] = "test";
return array;
}
public void method2(String[] array) {
System.out.println(array[0]);
}
public static void main(String[] args){
Class1 obj = new Class1();
obj.method2(method1());
}
}
或调用method2中的方法
public class Class1 {
public static String[] method1() {
String[] array = new String[5];
array[0] = "test";
return array;
}
public void method2() {
String[] array = Class1.method1();
System.out.println(array[0]);
}
public static void main(String[] args){
Class1 obj = new Class1();
obj.method2();
}
}
答案 1 :(得分:1)
method1中的数组只是一个局部变量,因此不能直接在class2中使用。如果要使用该“数组”,只需调用method1()即可。它返回数组,然后你可以使用它。 例如
String[] array2 = method1();
System.out.println(array2[0]);
答案 2 :(得分:0)
只需在方法之外声明它,例如:String[] array;
所以,你的代码看起来像这样:
public class Class1 {
public static String[] method1() {
array = new String[5];
array[0] = "test";
return array;
}
public static void main(String[] args) {
System.out.println(Arrays.toString(method1())); // Converts array to string
}
static String[] array; // Declaring global variable
}
输出应如下所示:[test, null, null, null, null]