我试图弄清楚如何多次将数据保存在子方法中。
例如,下面的代码创建和字符串数组,然后将该数组移至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
答案 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在这里也可以完成工作。然后,您通常不使用具有实现类型的列表,而是通常使用接口定义它的类型,以便实现可以切换。这就是接口的作用。