[英]Clear a list after adding its elements to another list
我正在做一個程序,將更多的句子作為參數。 我列出了兩個列表,一個包含每個句子的“ propozitie”,另一個包含所有句子的“ propozitii”。
問題是:當我在遇到“。”之后清除“ propozitie”列表時,還清除了“ propozitii”列表,最后打印了3個空列表。
輸入數據:
安德烈去那兒。 安德烈踢足球。 我喜歡待在家里。
有誰能夠幫助我 ? 提前致謝。
import java.util.ArrayList;
import java.util.List;
public class Propozitie {
private static List<List<String>> propozitii;
private static List<String> propozitie;
public static void main(String args[]) {
propozitii = new ArrayList<List<String>>();
propozitie = new ArrayList<String>();
for (String arg : args) {
propozitie.add(arg);
if (arg.contains(".")) {
propozitii.add(propozitie);
propozitie.clear();
}
}
System.out.println(propozitii);
}
}
這是因為,該聲明
propozitii.add(propozitie);
將對propozitie的引用添加到propozitii列表中。 沒有添加對象的副本。 要進行復制,請使用它。
propozitii.add(new ArrayList<String>(propozitie));
現在你可以清除propozitie
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.