這裏是我的代碼,我想,以填補該ArrayList TOSSA,但似乎陣列被刪除,並創建一個新的,我只有價值的最後,如果:填寫一個ArrayList正確
此代碼被多次調用
if(myAgent.getLocalName().equals("A") && ((msg.getConversationId() == "ThimbleB") || (msg.getConversationId() == "ThimbleC"))){
ArrayList<Integer> tossA = new ArrayList<Integer>();
if(msg.getConversationId() == "ThimbleB") {
int thB = Integer.parseInt(msg.getContent());
tossA.add(thB);
} else if (msg.getConversationId() == "ThimbleC") {
int thC = Integer.parseInt(msg.getContent());
tossA.add(thC);
}
}
可能的重複[如何比較Java中的字符串?](http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java) – Makoto 2014-12-04 22:36:02
當然,你只會得到一個兩個值,你寫if/else。談話要麼是ThimbleB還是ThimbleC,它們又怎麼可能呢?此外:如果兩者都爲true,則可以將兩個SAME值(getContent())寫入數組中的兩個位置。總的來說,代碼似乎破了。也許你更好地描述你想要做什麼,並給予更多的上下文。 – eckes 2014-12-04 22:44:10
我認爲問題在於當第二次執行if時,它會再次instanciate arraylist以使以前的值消失 – Dwng 2014-12-04 22:47:03