2014-02-20 17 views
1

轉換INT爲字符串我有一個ArrayList包含String元素,我想一個int添加到list但出轉換是到字符串是可能的。是否有可能加INT爲字符串的ArrayList用了Java中

我試過這個,這也是工作。

int a1 = 10; 
java.util.List list = new ArrayList<String>(); 
list.add(a1); 
System.out.println("List element"+list.get(0)); 

但我想知道這會發生。

int a1 = 10; 
java.util.List<String> list = new ArrayList<String>(); 
      list.add(a1); 
      System.out.println("List element"+list.get(0)); 

是可以做到的嗎?

+3

沒有..你不應該這樣做..你可以添加任何東西,如果列表是生的..但仍然不是一個好的做法.. – TheLostMind

+1

不,它不是,除非你有一個名單#和即使這樣你就需要'.add(new Integer(a1))',因爲'int'不是一個類。 – fge

+1

如果你可以在其中放入任何東西,那麼有一個字符串列表(列表)會有什麼意義?泛型的要點是提供類型安全性。 –

回答

1

類型列表的一個優點是,你可以假設,你只有列表中給定類型的對象 - 爲什麼要把這個優點拋開,如果它完全容易轉換給定的類型成列表的類型?

+0

我同意兄弟,但它只是爲了知識任何方式+1爲你的答案。 :) – Krishna

1

在第一種情況下,您的List只是一個原始List。所以你可以添加什麼類型的,因爲List是原始的,再次是ListJava壞的使用方式..但第二種情況是StringList你必須在那裏添加Stings。

現在您必須使用以下方法將int添加到List

int a1 = 10; 
java.util.List<String> list = new ArrayList<String>(); 
list.add(String.valueOf(a1)); // now String value of int will add to list 
System.out.println("List element"+list.get(0)); 
+1

+1爲你答。 – Krishna

3

試試這個

list.add(String.valueOf(a1)); 
+0

+1給予好回答。 :) – Krishna

1

你不能做到這一點,而不將其轉換爲字符串,但一個替代方法通過字符串concatination做到這一點(不直接轉換從int到字符串):

list.add("" + a1); 

但內部它會將「1」值附加到「」字符串,最終結果是字符串。

+0

它將該值轉換成它自我兄弟的字符串。 :)我不想要它。但雅+1你的迴應。 – Krishna

相關問題