Hiện nay tôi đang sử dụng một cái gì đó như:Cách tốt nhất để lặp qua các dòng của một chuỗi Java là gì?
String[]lines = textContent.split(System.getProperty("line.separator"));
for(String tmpLine : lines){
//do something
}
Tôi không phải là rất vui mừng của phương pháp này vì nó tạo ra một mảng lớn (hãy nói textContent
có thể chứa một cuốn sách).
Có giải pháp nào tốt hơn để lặp qua các dòng của String
không?
Cảm ơn câu trả lời. Giải pháp này có mang lại hiệu suất tốt hơn không? Tôi nhận thấy rằng giải pháp này sử dụng đối tượng ** 3 **. Tôi muốn giới hạn việc tạo đối tượng để có đủ bộ nhớ, do đó, 'BufferedReader' và' StringReader' là nhẹ hơn một mảng String? –
Như javadoc cho các trạng thái BufferedReader, sử dụng lớp đã nói là một phương tiện hợp lệ để gói các phương thức đọc tốn kém để đọc chi phí hiệu quả. Xem http://docs.oracle.com/javase/6/docs/api/java/io/BufferedReader.html –