如何通过其他方法使用已定义的Array变量?

时间:2019-04-06 12:25:33

标签: java

我想在同一类的另一种方法中使用在一个方法中定义的Array变量。

我尝试直接使用它,但是出现错误消息“找不到变量”。我试图在前面将Array变量定义为static,但是出现一个错误,提示“ Array常数只能在初始化程序中使用”。

这里是一个例子:

import java.io.*;
import java.util.*;
public class test{
    public static void name(){
        String[] list={"a","b"};
    }

    public static void main(String args[]){
        name();
        System.out.println(Arrays.toString(list));
    }
}

我想要的只是名为list的数组。

2 个答案:

答案 0 :(得分:1)

从方法list返回name的值。就是这样,将方法签名从返回类型void更改为String[]

public class test {
    public static String[] name(){
        String[] list = {"a","b"};
        return list;
    }

    public static void main(String args[]){
        System.out.println(Arrays.toString(name()));
    }
}

另一方面,您可以在test类中将其创建为变量,然后在main中实例化该类并调用该成员变量。

public class test {
    // not very safe! using public access modifier
    public String[] list = {"a","b"};
    public static void main (String[] args) {
        test instance = new test();
        System.out.println(Arrays.toString(instance.list));
    }
}

See demo

答案 1 :(得分:1)

我将列表作为静态变量,并使用初始化程序初始化数组。

import java.io.*;
import java.util.*;
public class Test{
    static String[] list;

    public static void name(){

       list= new String[]{"a","b"};
    }

    public static void main(String args[]){
         name();
        System.out.println(Arrays.toString(list));
    }
}

output