【问题标题】:Moving data to different methods将数据移动到不同的方法
【发布时间】:2018-11-05 16:43:29
【问题描述】:

我试图弄清楚如何多次将数据保存在子方法中。 例如,下面的代码是创建字符串数组,然后将数组移动到数组列表五次。如何使程序保存所有字符串 5 次。换句话说,如果我打印出数组列表newList .如何得到以下输出?

word0, word1, word2, word3, word4, word0, word1, word2, word3, word4, word0, word1, word2, word3, word4, word0, word1, word2, word3, word4, word0, word1, word2, word3 ,字4。

public static void main(String[] args) {
    String[] list = new String[5];
    for (int i = 0; i < list.length; i++) {
        list[i] = "word" + i;
    }
    for (int i = 0; i < 5; i++) {
        experiment(list);
    }
}

public static void experiment(String[] list) {
    ArrayList<String> arrList = new ArrayList<>();
    for (int i = 0; i < list.length; i++) {
        arrList.add(list[i]);
    }
    saveItAll(arrList);
}

public static ArrayList<String> saveItAll(ArrayList<String> counter) {
    ArrayList<String> newList = new ArrayList<>();
    newList = counter;
    System.out.println(newList);
    return newList;

}

【问题讨论】:

    标签: java arrays arraylist methods


    【解决方案1】:

    您需要将其存储在方法之外并且是静态的。

    public class Test
    {
        static List<String> newList = new ArrayList<>();
    
        public static void main(String[] args)
        {
            String[] list = new String[5];
            for (int i = 0; i < list.length; i++) {
                list[i] = "word" + i;
            }
            for (int i = 0; i < 5; i++) {
                experiment(list);
            }
    
            System.out.println(newList);
        }
    
        public static void experiment(String[] list)
        {
            List<String> arrList = new ArrayList<>();
            for (int i = 0; i < list.length; i++) {
                arrList.add(list[i]);
            }
            saveItAll(arrList);
        }
    
        public static void saveItAll(List<String> counter)
        {
            newList.addAll(counter);
        }
    }
    

    这里的另一个词:您不需要 saveItAll 方法,因为 addAll 也在这里完成工作。然后,您通常不使用具有实现类型的列表,您通常使用接口来定义它的类型,以便实现可以切换。这就是接口的用途。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-23
      • 1970-01-01
      相关资源
      最近更新 更多