2012-03-12 69 views
2

這是試圖回答我的問題的代碼。我對ArrayLists很有新意。我使用了一個for循環來嘗試讀取Arraylist中的每個元素,並將其放入新的「完整」字符串中,但不能編譯。我需要一些編輯。我不認爲這個代碼正常工作。我使用.add,以便我可以嘗試將字符串列表中的元素添加爲字符串完整。這是迄今爲止嘗試做的。如何獲取字符的ArrayList並將ArrayList中的所有元素返回爲字符串

public void String() { 

    ArrayList<Character> StringList = new ArrayList<Character>(); 
    String full;   
    for(int i = 0; i < arr.length; i++) { 
     full.add(StringList[i]); 
    } 
    return full; 
} 

回答

0

有一個在String類沒有.add(String)方法,只要我還記得。

但是從ArrayList獲取元素,這是你在找什麼?

StringList.get(i); 
2

我建議

  • 只使用其Javadoc中記載的方法。
  • 使用StringBuilder建立字符串,而不是字符ArrayList。
  • 不要調用方法String並將camelCase用於變量。
  • 不要訪問ArrayList的,就好像它是一個數組,使用get(i)
0

普通的方法是:

ArrayList<Character> StringList = new ArrayList<Character>(); 
StringList.add('H'); 
StringList.add('e'); 
StringList.add('l'); 
StringList.add('l'); 
StringList.add('o'); 
StringBuilder sb = new StringBuilder(); 
for(char c : StringList) sb.append(c); 
System.out.println(sb.toString()); 

,這裏是另一種方式來做到這一點:

ArrayList<Character> StringList = new ArrayList<Character>(); 
StringList.add('H'); 
StringList.add('e'); 
StringList.add('l'); 
StringList.add('l'); 
StringList.add('o'); 
System.out.println(StringList.toString().replaceAll("[, \\[\\]]", "")); 

OUTPUT:

Hello 
0
  1. 使用lowerCamelCase作爲變量名稱的命名約定 和方法。
  2. 使用ArrayList的get(index)來檢索元素。不要像陣列一樣使用它。 它不會工作(如StringList的[i]是無效的使用StringList.get(I))
  3. 閱讀Java文檔
  4. 總是試圖讀取和錯誤(如果得到任何)
1

一個有效方法是將每個字符添加到字符串:

String myString = ""; 
for (Character c : myList) { 
    myString += c; 
} 

如果myList.toString()給出:[a, b, c, d, e, f],然後給出的myString:abcdef

相關問題