首页 > 解决方案 > 如何使用其他方法中定义的数组变量?

问题描述

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

我尝试直接使用它,但出现“找不到变量”的错误。我试图在前面将 Array 变量定义为 static,但出现错误说“Array constant can only be used in initializers”。

这是一个例子:

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.

标签: java

解决方案


list从方法返回值name。这就是将方法签名从返回类型更改voidString[].

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));
    }
}

看演示


推荐阅读