Tôi không nhận được như sau:Không chắc thế nào chuỗi phân chia thực sự hoạt động trong trường hợp này
Trong sau String
:
String s = "1234;x;;y;";
nếu tôi làm:
String[] s2 = s.split(";");
Tôi nhận được s2.length
để là 4 và
s2[0] = "1234";
s2[1] = "x";
s2[2] = "";
s2[3] = "y";
Nhưng trong chuỗi: String s = "1234;x;y;;";
tôi nhận được:
s2.length
là 3 và
s2[0] = "1234";
s2[1] = "x";
s2[2] = "y";
?
Sự khác biệt là gì và tôi cũng không nhận được 4 trong trường hợp sau?
UPDATE:
Sử dụng -1
không được là tôi đã mong như hành vi.
Tôi có nghĩa là dấu chấm phẩy cuối cùng là kết thúc của String
như vậy trong ví dụ sau tôi cũng đã mong 4
như chiều dài của mảng
Câu hỏi được xây dựng kỹ lưỡng +1 –
Câu hỏi của bạn chính xác là những gì được đề cập trong tài liệu (http://docs.oracle.com/javase/6/docs/api/java/lang/String.html# chia% 28java.lang.String% 29). Vì vậy, tôi không nghĩ rằng đó là một câu hỏi thích hợp –
@ AdelBoutros: Tôi nghĩ rằng bạn đang được khắc nghiệt ở đây, chắc chắn hành vi được ghi trong javadocs, nhưng xem xét số lượng câu hỏi người nghèo được hỏi trong SO, tôi tin rằng Jim đã yêu cầu câu hỏi khá phong nha, với một quirk khá kỳ quặc của một phương pháp. Lỗi duy nhất của anh là không kiểm tra javadocs trước khi yêu cầu ở đây. – posdef