CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.
Bài viết blog CFSDN này sưu tầm và tổng hợp 10 vấn đề về chuỗi Java (bản dịch) phổ biến nhất của tác giả. Nếu bạn quan tâm đến bài viết này thì nhớ like nhé.
Dịch từ: 10 câu hỏi hàng đầu về Chuỗi Java.
Nói một cách đơn giản, "==" kiểm tra xem tham chiếu của hai chuỗi có giống nhau hay không và bằng() kiểm tra xem giá trị của hai chuỗi có giống nhau hay không. Trừ khi bạn muốn kiểm tra xem hai chuỗi có phải là cùng một đối tượng hay không, tốt hơn hết bạn nên sử dụng bằng(). Sẽ tốt hơn nếu bạn biết cơ chế duy trì chuỗi.
2. Tại sao char[] tốt hơn String đối với thông tin nhạy cảm về bảo mật?
Các chuỗi là bất biến, có nghĩa là một khi chúng được tạo, chúng vẫn ở đó cho đến khi được trình thu gom rác dọn sạch. Với một mảng, bạn có thể sửa đổi các phần tử của nó một cách rõ ràng. Bằng cách này, thông tin nhạy cảm về bảo mật (chẳng hạn như mật khẩu) sẽ không xuất hiện ở bất kỳ nơi nào khác trên hệ thống.
3.Chúng ta có thể sử dụng String trong câu lệnh switch không?
Đối với Java7 câu trả lời là có. Bắt đầu từ JDK7, chúng ta có thể sử dụng Chuỗi làm điều kiện của câu lệnh switch. Trước JDK6, chúng tôi không thể sử dụng Chuỗi làm điều kiện của câu lệnh switch.
?
1
2
3
4
5
6
7
8
9
|
công tắc
(str.toLowerCase()) {
trường hợp
"Một"
:
giá trị =
1
;
phá vỡ
;
trường hợp
"b"
:
giá trị =
2
;
phá vỡ
;
}
|
4. Làm thế nào để chuyển chuỗi thành số nguyên?
?
1
|
số nguyên
n = Integer.parseInt(
"10"
);
|
。
Thật đơn giản, nó được sử dụng thường xuyên đến mức đôi khi bị bỏ qua.
5.Làm thế nào để phân tách một chuỗi có ký tự khoảng trắng?
Chúng ta có thể chỉ cần sử dụng các biểu thức thông thường để phân tách nó. "s" đại diện cho các ký tự khoảng trắng, chẳng hạn như " ", " ", " ", " ".
?
1
|
Chuỗi[] strArray = aString.split(
"\s+"
);
|
。
6. Phương thức substring() thực sự có tác dụng gì?
Trong JDK6, phương thức substring() cung cấp một cửa sổ vào một mảng ký tự biểu thị một chuỗi hiện có nhưng không tạo ra một chuỗi mới. Để tạo một chuỗi mới được biểu thị bằng một mảng ký tự mới, hãy thêm một chuỗi trống như sau:
。
Điều này tạo ra một mảng ký tự hoàn toàn mới đại diện cho chuỗi mới. Phương pháp trên đôi khi làm cho mã nhanh hơn, vì trình thu gom rác sẽ thu thập các chuỗi lớn không được sử dụng, chỉ để lại một chuỗi con. Trong Oracle JDK 7, chuỗi con() tạo một mảng ký tự mới mà không sử dụng mảng hiện có. Sơ đồ trong Phương thức chuỗi con() trong JDK 6 và JDK 7 minh họa sự khác biệt giữa chuỗi con() trong JDK 6 và JDK 7.
7.String so với StringBuilder so với StringBuffer 。
String vs StringBuilder: StringBuilder có thể thay đổi, có nghĩa là người ta có thể thay đổi giá trị của nó sau khi tạo. StringBuilder so với StringBuffer: StringBuffer là đồng bộ, có nghĩa là nó an toàn theo luồng nhưng chậm hơn StringBuilder.
8.Làm thế nào để lặp lại một chuỗi?
Trong Python, chúng ta có thể lặp lại một chuỗi bằng cách nhân nó với một số. Trong Java, chúng ta có thể lặp lại một chuỗi thông qua phương thức loop() của lớp StringUtils trong gói Apache Commons Lang.
?
1
2
3
|
Chuỗi str =
"abcd"
;
Chuỗi lặp lại = StringUtils.repeat(str,
3
);
|
。
9.Làm thế nào để chuyển đổi chuỗi thành ngày?
?
1
2
3
4
|
Chuỗi str =
"17 tháng 9 năm 2013"
;
Ngày tháng ngày tháng =
mới
Định dạng ngày tháng đơn giản
"MMMM ngày, năm"
, Locale.ENGLISH).parse(str);
System.out.println(ngày);
|
。
10.Làm thế nào để đếm số lần một ký tự xuất hiện trong chuỗi?
Sử dụng lớp StringUtils từ gói Apache Commons Lang.
?
1
2
|
số nguyên
n = StringUtils.countMatches(
"11112222"
,
"1"
);
Hệ thống.out.println(n);
|
。
Câu hỏi bổ sung: Cách phát hiện chuỗi chỉ chứa chữ in hoa.
Dịch từ: 10 câu hỏi hàng đầu về Chuỗi Java.
Cuối cùng, bài viết về 10 vấn đề về chuỗi Java (bản dịch) phổ biến nhất kết thúc tại đây. Nếu bạn muốn biết thêm về 10 vấn đề về chuỗi (bản dịch) Java phổ biến nhất, vui lòng tìm kiếm bài viết của CFSDN. bạn sẽ ủng hộ blog của tôi trong tương lai! .
Tôi là một lập trình viên xuất sắc, rất giỏi!