So sánh hai chuỗi trong Java – so sánh chuỗi trong java

Cổng thông tin Khoa học Máy tính dành cho những người yêu thích máy tính. Nó bao gồm các bài báo về khoa học máy tính và lập trình được viết tốt, được tư duy tốt và được giải thích tốt, các câu đố và thực hành / lập trình cạnh tranh / các câu hỏi phỏng vấn công ty.

Bạn đang xem : so sánh chuỗi trong java

Chuỗi là một chuỗi ký tự. Trong Java, các đối tượng của Chuỗi là bất biến có nghĩa là chúng không đổi và không thể thay đổi sau khi được tạo.

Dưới đây là 5 cách để so sánh hai Chuỗi trong Java:

  1. Sử dụng hàm do người dùng xác định: Xác định một hàm để so sánh các giá trị với các điều kiện sau:
    1. if (string1 & gt; string2) nó trả về giá trị dương .
    2. nếu cả hai chuỗi đều bằng nhau về mặt từ vựng
      tức là (string1 == string2) thì nó trả về 0 .
    3. if (string1 & lt; string2) nó trả về a giá trị âm .

    Giá trị được tính là (int) str1.charAt (i) – (int) str2.charAt (i)

    Ví dụ:

     Đầu vào 1:  GeeksforGeeks
     Đầu vào 2:  Thực hành
     Đầu ra:  -9
    
     Đầu vào 1:  Geeks
     Đầu vào 2:  Geeks
     Đầu ra:  0
    
     Đầu vào 1:  GeeksforGeeks
     Đầu vào 2:  Geeks
     Đầu ra:  8
    

    Chương trình:

    public class GFG {

    public static int stringCompare (Chuỗi str1, Chuỗi str2 )

    {

    int l1 = str1.length ();

    int l2 = str2.length ();

    int lmin = Math.min (l1, l2);

    cho ( int i = 0 ; tôi & lt; lmin; i ++) {

    int str1_ch = ( int ) str1.charAt (i);

    int str2_ch = ( int ) str2.charAt (i);

    nếu (str1_ch! = str2_ch) {

    trả về str1_ch - str2_ch;

    }

    }

    if (l1! = l2) {

    return l1 - l2; < / p>

    }

    else {

    trả về 0 ;

    }

    }

    public static void main (String args [])

    < code class = "trơn"> {

    Chuỗi string1 = < code class = "keyword"> new String ( "Geeksforgeeks" ) ;

    String string2 = new String ( "Thực hành" );

    String string3 =

    String string4 = new String ( "Geeks" );

    System.out.println ( "So sánh" + string1 + "và" + string2

    + ": " + stringCompare (string1, string2));

    < p class = "line number49 index48 alt2">

    System.out.println ( "So sánh" + string3 + "và" + string4

    + ":" + stringCompare (string3, string4));

    System.out.println ( "So sánh" + string1 + "và " + string4

    + ":" + stringCompare (string1, string4));

    }

    }

     

    < pre id = "ide-url"> Đầu ra:

    So sánh Geeksforgeeks và Practice: -9
    So sánh Geeks và Geeks: 0
    So sánh Geeksforgeeks và Geeks: 8
    
  2. Sử dụng String.equals (): Trong Java, phương thức string equals () so sánh hai chuỗi đã cho dựa trên dữ liệu / nội dung của chuỗi. Nếu tất cả nội dung của cả hai chuỗi đều giống nhau thì nó trả về true. Nếu bất kỳ ký tự nào không khớp, thì nó trả về false.

    Cú pháp:

     str1.equals (str2); 

    Ở đây str1 và str2 đều là là các chuỗi sẽ được so sánh.

    Ví dụ:

     Đầu vào 1:  GeeksforGeeks
     Đầu vào 2:  Thực hành
     Đầu ra:  false
    
     Đầu vào 1:  Geeks
     Đầu vào 2:  Geeks
     Đầu ra:  true
    
     Đầu vào 1:  geeks
     Đầu vào 2:  Geeks
     Đầu ra:  false
    

    Chương trình:

    public class GFG {

    public static void main (Chuỗi args [])

    {

    String string1 = new String ( "Geeksfor geeks " );

    String string2 = new String ( "Thực hành " );

    Chuỗi string3 = new Chuỗi ( "Geeks" );

    String string4 = new String ( "Geeks" < / code> );

    String string5 = new String ( "geeks" );

    System.out.println ( "So sánh" + string1 + "và" + string2

    + ":" + string1.equals (string2));

    System.out.println ( " So sánh " + string3 + "và" + string4

    + ":" + string3.equals (string4));

    System.out.println ( "So sánh" + string4 + "và" + string5

    + ": " + string4.equals (string5) );

    < code class = "undefined space">

    Hệ thống. out.println ( "So sánh" + string1 + "và" < / code> + string4

    + ": " + string1.equals (string4));

    }

    }

     
     

    Đầu ra:

    So sánh Geeksforgeeks và Practice: false
    So sánh Geeks và Geeks: true
    So sánh Geeks và geeks: false
    So sánh Geeksforgeeks và Geeks: false
    
  3. Sử dụng String.equalsIgnoreCase (): Phương thức String.equalsIgnoreCase () so sánh hai chuỗi không phân biệt chữ thường (chữ thường hay chữ hoa) ) của chuỗi. Phương thức này trả về true nếu đối số không null và nội dung của cả hai Chuỗi đều giống nhau bỏ qua chữ hoa, nếu không thì false.

    Cú pháp:

     str2.equalsIgnoreCase (str1) ; 

    Ở đây, cả str1 và str2 đều là các chuỗi được so sánh.

    Ví dụ:

     Đầu vào 1:  GeeksforGeeks
     Đầu vào 2:  Thực hành
     Đầu ra:  false
    
     Đầu vào 1:  Geeks
     Đầu vào 2:  Geeks
     Đầu ra:  true
    
     Đầu vào 1:  geeks
     Đầu vào 2:  Geeks
     Đầu ra:  true
    

    Chương trình:

    public class GFG {

    public static void main (Chuỗi args [])

    {

    String string1 = new String ( "Geeksfor geeks " );

    String string2 = new String ( "Thực hành " );

    Chuỗi string3 = new Chuỗi ( "Geeks" );

    String string4 = new String ( "Geeks" < / code> );

    String string5 = new String ( "geeks" );

    System.out.println ( "So sánh" + string1 + "và" + string2

    + ":" + string1.equalsIgnoreCase (string2));

    System.out. println ( "So sánh" + string3 + "và" + string4

    + ":" + string3.equalsIgnoreCase (string4));

    System.out.println ( "So sánh" + string4 + "và" + string5

    + ":" + string4.equalsIgnoreCase (string5));

    System.out.println ( "So sánh" + string1 + "và" + string4

    + ":" + string1.equalsIgnoreCase (string4));

    }

    }

     
     

    Đầu ra:

    So sánh Geeksforgeeks và Practice: false
    So sánh Geeks và Geeks: true
    So sánh Geeks và Geeks: true
    So sánh Geeksforgeeks và Geeks: false
    
  4. Sử dụng phương thức Objects.equals (): Object.equals (Đối tượng a, Đối tượng b) trả về true nếu các đối số bằng nhau với nhau và sai khác. Do đó, nếu cả hai đối số đều rỗng thì trả về true và nếu chính xác một đối số là rỗng, thì trả về false. Nếu không, sự bình đẳng được xác định bằng cách sử dụng phương thức equals () của đối số đầu tiên.

    Cú pháp:

     public static boolean = (Đối tượng a, Đối tượng b)  

    Ở đây, cả a và b đều là các đối tượng chuỗi sẽ được so sánh.

    Ví dụ:

     Đầu vào 1:  GeeksforGeeks
     Đầu vào 2:  Thực hành
     Đầu ra:  false
    
     Đầu vào 1:  Geeks
     Đầu vào 2:  Geeks
     Đầu ra:  true
    
     Đầu vào 1:  null
     Đầu vào 2:  null
     Đầu ra:  true
    

    Chương trình:

    nhập java.util. *;

    public class GFG {

    public static void main (String args [])

    {

    String string1 = new String ( "Geeksforgeeks " );

    String string2 = new String ( "Geeks" );

    Chuỗi string3 = new String ( "Geeks" ); < / p>

    Chuỗi string4 = null ;

    Chuỗi string5 = null ;

    System.out.println ( "So sánh" + string1 + "và" + string2

    + ":" + Objects.equals (string1, string2));

    < / p>

    < / code> "và" + string3

    + ":" + Objects.equals (string2, string3));

    System.out.println ( " So sánh " + string1 + "và" + string4

    + ":" + Objects.equals (string1, string4));

    Hệ thống .out.println ( "So sánh" + string4 + "và" + string5

    + ":" + Objects.equals (string4, string5));

    }

    }

     
     

    Đầu ra:

    So sánh Geeksforgeeks và Geeks: false
    So sánh Geeks và Geeks: true
    So sánh Geeksforgeeks và null: false
    So sánh null và null: true
    
  5. Sử dụng String.compareTo () :

    Cú pháp:

     int str1.compareTo (String str2) 

    Làm việc:
    Nó so sánh và trả về các giá trị sau như sau:

    1. if (string1 & gt; string2) nó trả về giá trị dương .
    2. nếu cả hai chuỗi đều bằng nhau về mặt từ vựng
      tức là (string1 == string2) thì nó trả về 0 .
    3. if (string1 & lt; string2) nó trả về giá trị âm .

    Ví dụ:

     Đầu vào 1:  GeeksforGeeks
     Đầu vào 2:  Thực hành
     Đầu ra:  -9
    
     Đầu vào 1:  Geeks
     Đầu vào 2:  Geeks
     Đầu ra:  0
    
     Đầu vào 1:  GeeksforGeeks
     Đầu vào 2:  Geeks
     Đầu ra:  8
    

    Chương trình:

    nhập java.util. *;

    public class GFG {< / code>

    public static void main (String args [])

    {

    String string1 = new Chuỗi ( "Geeksforgeeks" );

    Chuỗi string2 = new String ( "Thực hành" );

    Chuỗi string3 = new String ( "Geeks" );

    Chuỗi string4 = new String ( "Geeks" );

    System.out.println ( "So sánh" + string1 + "và" + string2

    + ":" < / code>

    System.out.println ( "So sánh" + string3 + "và" + string4

    < code class = "undefined space"> + ":" + string3 .compareTo (string4));

    System.out.println ( " So sánh " + string1 + "và" + string4

    + ":" + string1.compareTo (string4)); < / p>

    }

    }

      
     

    Đầu ra:

    So sánh Geeksforgeeks và Practice: -9
    So sánh Geeks và Geeks: 0
    So sánh Geeksforgeeks và Geeks: 8
    

Tại sao không sử dụng == để so sánh các Chuỗi?

< p> Nói chung, cả hai toán tử equals () và “ == ” trong Java đều được sử dụng để so sánh các đối tượng nhằm kiểm tra sự bình đẳng nhưng đây là một số điểm khác biệt giữa hai toán tử: < / p>

  • Sự khác biệt chính giữa phương thức .equals () và toán tử == là một phương thức là phương thức và phương thức kia là toán tử.
  • Người ta có thể sử dụng toán tử == để so sánh tham chiếu (so sánh địa chỉ) và .equals () để so sánh nội dung .
  • Nói một cách đơn giản, == kiểm tra xem cả hai đối tượng có trỏ đến cùng một vị trí bộ nhớ hay không trong khi .equals () đánh giá so sánh các giá trị trong các đối tượng.

    Ví dụ:

    < code class = "undefined space">

    public class < / code> Kiểm tra {

    public static void main (String [] args) < / code>

    {

    Chuỗi s1 = new String ( "HELLO" ); < / p>

    String s2 = new String ( "HELLO" );

    System.out.println (s1 == s2);

    System.out.println (s1. bằng (s2));

    }

    }

     
     

    Đầu ra:

    sai
    thật
    

    Giải thích: Đây là hai đối tượng Chuỗi đang được tạo là s1 và s2.

    • Cả s1 và s2 đều tham chiếu đến các đối tượng khác nhau.
    • Khi một người sử dụng toán tử == để so sánh s1 và s2 thì kết quả là sai vì cả hai đều có các địa chỉ khác nhau trong bộ nhớ.
    • Sử dụng bằng, kết quả là đúng vì nó chỉ so sánh các giá trị được cho trong s1 và s2.

    < p class = "noteHeaderText"> Ghi chú cá nhân của tôi


Xem thêm những thông tin liên quan đến chủ đề so sánh chuỗi trong java

Lập trình Java - Sự khác nhau giữa equals và equalsIgnoreCase khi so sánh chuỗi String

  • Tác giả: Alias
  • Ngày đăng: 2020-02-24
  • Đánh giá: 4 ⭐ ( 3397 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: java code alias
    Trong list video lập trình Java, thì ở video này mình sẽ hướng dẫn cho các bạn cách so sánh sự khác nhau giữa equals và equalsIgnoreCase để so sánh sự giống nhau giữa các chuỗi String trong java
    Link group học code: http://bit.ly/39eFZOi
    Link facebook cá nhân: http://bit.ly/38fi69c
    Link website: http://Alias.vn/
    Link đăng kí kênh để nhận video free: http://bit.ly/2SyBebr
    Đội ngũ Alias chuyên support IT cho các bạn ở đại học FPT Hà Nội - Ngoài ra còn support IT cho các bạn ở đại học Quốc Gia và Bách Khoa...
    Channel hướng dẫn các bạn lập trình C, C, C++, Java, Java desk, Java Web, jsp - servlet, web service, asp.net đồng thời hướng dẫn các bạn các thủ thuật hữu ích giúp cuộc sống đơn giản và dễ dàng hơn.
    Nếu nhạc nền bị gặp vấn đề bản quyền. Mong các bạn gửi mail tới trinhthehoan989@gmail.com. Mình sẽ trả lời lại trong vòng 2h ạ.

Chuỗi (String) trong Java

  • Tác giả: mylop.edu.vn
  • Đánh giá: 4 ⭐ ( 7777 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong chương này, chúng ta sẽ cùng nhau tìm hiểu về 2 khái niệm chuỗi và mảng trong Java. Đối với các ngôn ngữ lập trình, chuỗi và mảng là 2 kiểu dữ liệu rất

Bài 11: So sánh chuỗi trong Java

  • Tác giả: androidcoban.com
  • Đánh giá: 5 ⭐ ( 2881 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Java - So sánh 2 chuỗi bất kỳ được nhập từ bàn phím.

  • Tác giả: freetuts.net
  • Đánh giá: 4 ⭐ ( 9006 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bài tập Java - So sánh 2 chuỗi bất kỳ được nhập từ bàn phím., xem lời giải của bài này tại đây!

So sánh chuỗi trong Java

  • Tác giả: hoclaptrinh.vn
  • Đánh giá: 4 ⭐ ( 6734 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: So sánh chuỗi bởi phương thức equals() trong Java.Nó được sử dụng trong sự xác nhận bởi phương thức equal(), sắp xếp bởi phương thức compareTo(), so khớp tham chiếu bởi toán tử ==, …

So sánh 2 chuỗi trong Java

  • Tác giả: shareprogramming.net
  • Đánh giá: 3 ⭐ ( 7036 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: String là một chuỗi các ký tự trong Java, nó là các imutable object nghĩa là chúng ta sẽ không thể thay đổi sau khi khởi tạo

Làm thế nào để so sánh chuỗi trong java một cách nhanh nhất

  • Tác giả: xaydungweb.vn
  • Đánh giá: 3 ⭐ ( 1459 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: So sánh chuỗi trong java là một trong những từ khóa được search nhiều nhất trên google về chủ đề so sánh chuỗi trong java. Trong bài viết này, xaydungweb.vn sẽ viết bài viết nói về làm thế nào để so sánh chuỗi trong java một cách nhanh nhất

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Hàm FIND_IN_SET () hoạt động như thế nào trong MySQL? - mysql tìm trong bộ