JavaRush /Blog Java /Random-VI /10 câu hỏi được hỏi nhiều nhất về chuỗi trong Java
ext4
Mức độ

10 câu hỏi được hỏi nhiều nhất về chuỗi trong Java

Xuất bản trong nhóm

Top 10 câu hỏi được hỏi nhiều nhất về chuỗi trong Java được đề cập tại đây

[Dịch] 10 câu hỏi được hỏi nhiều nhất về chuỗi trong Java - 1
  1. Làm thế nào để so sánh các chuỗi? Sử dụng cái gì: " ==" hay equals()?

    Nói tóm lại, " ==" so sánh các tham chiếu với các chuỗi, nhưng equals()so sánh các giá trị có trong các chuỗi đó. Nếu bạn không muốn kiểm tra xem hai chuỗi có phải là cùng một đối tượng hay không, thì bạn nên sử dụng equals().

    Cũng sẽ rất tốt nếu biết khái niệm về chuỗi chuỗi .

  2. Tại sao char[]các chuỗi ( String) được ưa thích để bảo vệ thông tin nhạy cảm?

    Chuỗi là bất biến . Điều này có nghĩa là khi một chuỗi được tạo, nó sẽ không bị sửa đổi cho đến khi trình thu gom rác được chạy. Trong trường hợp mảng, rõ ràng là chúng ta có thể thay đổi các phần tử của nó. Bằng cách này, thông tin nhạy cảm (chẳng hạn như mật khẩu) sẽ không được lưu trữ ở dạng văn bản rõ ràng ở bất kỳ đâu trong chương trình.

  3. Chúng ta có thể truyền chuỗi dưới dạng tham số khi sử dụng câu lệnh switch không ?

    Có, bắt đầu từ phiên bản 7 của JDK. Trước đây ở phiên bản 6, điều này là không thể.

    // java 7 only!
    switch (str.toLowerCase()) {
          case "a":
               value = 1;
               break;
          case "b":
               value = 2;
               break;
    }
  4. Làm cách nào để chuyển đổi một chuỗi thành một giá trị nguyên?

    int n = Integer.parseInt("10");

    Điều tương tự cũng xảy ra với các kiểu nguyên thủy khác trong Java.

  5. Làm cách nào để chia một chuỗi thành các dòng được phân cách bằng dấu cách?

    Cách dễ nhất là sử dụng biểu thức thông thường. " \s" đóng vai trò thay thế cho các ký tự khoảng trắng như " ", " \t", " \r", " \n".

    String[] strArray = aString.split("\\s+");
  6. < Phương pháp này thực sự làm gì substring()?

    Trong JDK 6, phương thức này substring()hiển thị một phần ký tự từ một chuỗi hiện có nhưng không tạo một phiên bản riêng của chuỗi. Để tạo một chuỗi mới, được biểu diễn dưới dạng một mảng ký tự, bạn có thể thêm một số chuỗi trống, ví dụ như sau:

    str.substring(m, n) + ""

    Kết quả là một mảng các ký tự, đây là chuỗi mới của chúng ta. Cách tiếp cận này đôi khi có thể giảm thời gian thực thi mã vì trình thu gom rác có thể hủy các chuỗi lớn không sử dụng và chỉ lưu trữ các chuỗi con.

    Trong Oracle JDK 7, phương thức này substring()tạo một mảng ký tự mới mà không sử dụng mảng ký tự hiện có. Bạn cũng có thể xem sơ đồ thể hiện sự khác biệt giữa các phương thức substring() trong JDK 6 và JDK 7 .

  7. Chuỗi so với StringBuilder so với StringBuffer

    Stringvs StringBuilder: StringBuildercó thể thay đổi, điều này có nghĩa là chúng ta có thể thay đổi nội dung của nó sau khi đối tượng được tạo.

    StringBuildervs StringBuffer: StringBufferđược đồng bộ hóa, nghĩa là nó hoạt động chính xác khi được sử dụng từ nhiều luồng cùng lúc, nhưng chậm hơn StringBuilder.

  8. Làm thế nào để lặp lại một dòng nhiều lần?

    Trong Python, chúng ta có thể nhân một chuỗi với một số nvà sau đó nó sẽ lặp lại n lần. Trong Java, chúng ta có thể sử dụng một phương thức repeat()từ StringUtilslớp thư viện Apache Commons Lang.

    String str = "abcd";
    String repeated = StringUtils.repeat(str,3);
    //abcdabcdabcd
  9. Làm cách nào để chuyển đổi một chuỗi thành một ngày?

    String str = "Sep 17, 2013";
    Date date = new SimpleDateFormat("MMMM d, yy", Locale.ENGLISH).parse(str);
    System.out.println(date);
    //Tue Sep 17 00:00:00 EDT 2013
  10. Làm cách nào để đếm số lần xuất hiện của một ký tự nhất định trong chuỗi?

    Sử dụng một lớp StringUtilstừ thư viện Apache Commons Lang.

    int n = StringUtils.countMatches("11112222", "1");
    System.out.println(n);
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION