Java:从另一个类导入字符串数组

Ain*_*vox 2 java

我不理解其他线程中的其他答案,所以这里提出这个问题:

如何将一个字符串数组从一个类导入另一个类?这个列表很长,这使得它在一个类中使用这些方法看起来很糟糕.

这是它的样子:

List<String> countriesList = new ArrayList<>(
    Arrays.asList("Japan", 
                  "Sweden", //Etc...
Run Code Online (Sandbox Code Playgroud)

我还有另一个与之相关的(这是一个猜测国家和城市游戏,国家是由math.random随机化).

List<String> huvudList = new ArrayList<>(
    Arrays.asList(
        "Tokyo",
        "Stockholm", //Etc...
Run Code Online (Sandbox Code Playgroud)

那么我如何将这些列表放在另一个类中,将它们导入我的主类并正常使用它们(所以我仍然能够将随机值随机化到列表中等等).有什么好办法可以做到这一点,还是应该坚持我得到的东西?

这就是我开始上课的方式:

这样做时为什么会出错?这是怎么回事?(ListaLandQuiz是类,countriesList是列表).它说The method countriesList(int) is undefined for the type ListaLandQuiz

  package Games;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Collections;


public class Experiments {

    public static void main(String[] args) {
        // Importing classes

        System.out.println(ListaLandQuiz.countriesList(3));

    }

}
Run Code Online (Sandbox Code Playgroud)

提前致谢.

And*_*eas 6

假设您希望共享和不可变列表,只需将它们设为公共和静态:

public final class MyLists {

    public static final List<String> COUNTRIES = Collections.unmodifiableList(Arrays.asList(
            "Japan", 
            "Sweden",
            //Etc..
    ));

    public static final List<String> CAPITALS = Collections.unmodifiableList(Arrays.asList(
            "Tokyo",
            "Stockholm",
            //Etc...
    ));

}
Run Code Online (Sandbox Code Playgroud)

您现在可以在任何地方访问它们:

MyLists.COUNTRIES
Run Code Online (Sandbox Code Playgroud)