2016-02-14 62 views
7

我想將字符串列表轉換爲大寫。將字符串列表中的所有元素轉換爲大寫

這裏是我的代碼來做到這一點:

List<String> list = Arrays.asList("abc", "def", "ghi"); 
List<String> upped = list.stream().map(String::toUpperCase).collect(Collectors.toList()); 

有沒有更簡單/更好的方式來做到這一點?

+1

總會有另一種方式。像for循環一樣。你在尋找什麼樣的答案? – Tunaki

+0

您可以使用太陽光束並用放大鏡移位。 – Tunaki

+0

你可以[使用蝴蝶](https://xkcd.com/378/)。 – azurefrog

回答

22

你還沒有真正改變名單;你已經創建了一個新的列表。

要轉換列表中的一個小方法調用,使用List#replaceAll()

list.replaceAll(String::toUpperCase); 
+0

這實際上是否將轉換後的字符串分配給他們在列表中的尊重位置?我只問,因爲我習慣於字符串格式s = s.replaceAll()',但我不熟悉List的這個實現。聽起來像是很好的信息:) –

+1

@ CalvinP.yes - 它使用提供的lambda對每個元素執行就地轉換,因此元素順序被保留。 – Bohemian

+0

啊很高興知道。我可能會在不久的將來使用這些產品 –

相關問題