将数据移动到不同的方法

时间:2018-11-05 16:43:29

标签: java arrays arraylist methods

我试图弄清楚如何多次将数据保存在子方法中。 例如,下面的代码创建和字符串数组,然后将该数组移至arraylist五次。如何使程序将所有字符串保存5次。换句话说,如果我打印出数组列表// with double print(0.2 + 0.1); // displays 0.30000000000000004 // with decimal print(Decimal.parse('0.2') + Decimal.parse('0.1')); // displays 0.3 ,如何获得以下输出?

  

word0,word1,word2,word3,word4,word0,word1,word2,word3,word4,word0,word1,word2,word3,word4,word0,word1,word2,word3,word4,word0,word1,word2,word3 ,word4。

newList

1 个答案:

答案 0 :(得分: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在这里也可以完成工作。然后,您通常不使用具有实现类型的列表,而是通常使用接口定义它的类型,以便实现可以切换。这就是接口的作用。