Trong Java, String
là một lớp hệ thống cơ bản về cơ bản bao bọc một char[]
. Có một số lý do tại sao, đối với hầu hết các mục đích sử dụng, việc có một lớp học đầy đủ là thích hợp hơn để xử lý trực tiếp mảng:
String
s là không thay đổi; một khi bạn có một tham chiếu đến một số String
, bạn biết nó sẽ không bao giờ thay đổi.
String
s cung cấp các phương thức hữu ích mà một mảng trống không thể, chẳng hạn như length()
và có ngữ nghĩa so sánh được xác định rõ ràng.
- Bạn không bao giờ phải tự giải quyết việc chấm dứt chuỗi.
- Java có ngoại lệ đặc biệt cho quy tắc "không có quá tải toán tử" để hỗ trợ nối chuỗi (với
+
).
Về cơ bản, thực hành OO tốt để sử dụng lớp để thu thập hành vi mong muốn và cấu trúc dữ liệu ở cùng một vị trí và String
kết thúc tốt đẹp các hoạt động hữu ích mà bạn muốn thực hiện trên chuỗi .
Cảm ơn bạn đã phản hồi. Tôi có một nghi ngờ khác - Tôi có thể sử dụng đối tượng String như char [] không? Như trong nếu tôi muốn truy cập vào một yếu tố ngẫu nhiên tại bất kỳ điểm nào hoặc để lưu trữ một char tại bất kỳ chỉ mục là nó có thể làm như vậy trong một String? – iluvthee07
Ravi xứng đáng nhận được câu trả lời của mình. Để mở rộng một chút về câu trả lời của anh ta, một trong những cấu trúc dữ liệu phổ biến nhất mà bạn làm việc khi lập trình là 'String' vì nhu cầu vốn có của hệ thống máy tính để tương tác với con người. Các nhà thiết kế của Java đã nhận ra điều này và bọc char [] vào một đối tượng đặc biệt gọi là String để tương tác với các chuỗi thuận tiện hơn – StormeHawke
@ iluvthee07 - vâng. Bạn sẽ muốn 'string.charAt (index)' cho trường hợp đầu tiên. Đối với thứ hai, bạn cần phải hoặc là chơi xung quanh với các chất nền, hoặc sử dụng 'string.toCharArray()' và làm việc với điều đó. Để biết thêm chi tiết về những gì bạn có thể làm với 'String', tôi khuyên bạn nên xem xét 'Chuỗi' javadoc tại đây: http://docs.oracle.com/javase/6/docs/api/java/lang /String.html – StormeHawke