2016-02-14 45 views
7

Tôi muốn chuyển đổi danh sách các chuỗi thành chữ hoa.Chuyển đổi tất cả các phần tử của danh sách các chuỗi thành chữ hoa

Dưới đây là mã của tôi để làm điều này:

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

Có một/cách đơn giản hơn để làm điều này?

+1

Luôn luôn có cách khác. Giống như vòng lặp for. Bạn đang tìm kiếm loại câu trả lời nào? – Tunaki

+0

Bạn có thể sử dụng chùm năng lượng mặt trời và bit dịch chuyển với kính lúp. – Tunaki

+0

Bạn có thể [sử dụng bướm] (https://xkcd.com/378/). – azurefrog

Trả lời

22

Bạn chưa thực sự chuyển đổi danh sách; bạn đã tạo danh sách mới.

Để chuyển đổi danh sách trong một lời gọi phương thức nhỏ, sử dụng List#replaceAll():

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

Điều này có thực sự gán các chuỗi đã chuyển đổi cho các vị trí tôn trọng của chúng trong danh sách không? Tôi chỉ hỏi vì tôi đã quen với định dạng chuỗi 's = s.replaceAll()' nhưng tôi không quen với việc triển khai này cho Danh sách. Âm thanh như thông tin tốt :) –

+1

@ CalvinP.yes - nó thực hiện chuyển đổi tại chỗ trên từng phần tử bằng cách sử dụng lambda được cung cấp, vì vậy thứ tự phần tử được giữ nguyên. – Bohemian

+0

Ah tốt để biết. Tôi có thể đã sử dụng cho một cái gì đó dọc theo những dòng trong tương lai gần –

Các vấn đề liên quan