2015-09-12 100 views
2

我不明白在其他线程其他的答案,所以这里的字符串数组导入云这样一个问题:的Java:从另一个类

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

这是它的外观:

List<String> countriesList = new ArrayList<>(
    Arrays.asList("Japan", 
        "Sweden", //Etc... 

我也有另一个连接到它(这是一个猜测国家和城市的游戏和国家是由随机的Math.random)。

List<String> huvudList = new ArrayList<>(
    Arrays.asList(
     "Tokyo", 
     "Stockholm", //Etc... 

因此,我怎么把这些名单中的另一个类,它们导入到我的主类,通常使用它们(所以我仍然能够为随机值随机到列表,等等)。有没有什么漂亮的方法可以做到这一点,还是应该坚持我所得到的?

我这是怎么开始的,我会把列出类:

为什么会这样,当一个错误?它以何种方式错误? (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)); 

    } 

} 

在此先感谢。

+0

您在哪里可以生成随机国家名称的方法? – Blip

回答

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

} 

现在,您可以随时随地访问他们为:

MyLists.COUNTRIES 
+0

我得到一个错误,说我必须有public static void main(String [] args)。 “Collections”下面有一条红线。有任何想法吗? – Ainvox

+0

@Ainvox您需要为适当的类添加一个import语句('java.util.Collections')。这是基本的Java,你可能想要学习一些教程或为Java初学者购买一本好书。 –

+0

@MarkRotteveel对不起,我从来没有使用清单或集合。请参考我的最新编辑,并告诉我,如果您可以在此处找到我的代码出了什么问题。 – Ainvox

0

可以使用依赖注入:

public class Demo{ 
    List<String> list; 

    public Demo(List<String> list){ 
    this.list = list; 
    } 
} 
+0

或者使用静态列表作为字段 – romanvintonyak