5 cách để so sánh hai chuỗi trong Java



Trong bài viết này, chúng tôi sẽ tập trung vào việc so sánh hai chuỗi trong Java với các ví dụ phù hợp và xem nó phục vụ các mục đích khác nhau như thế nào để thao tác với chuỗi.

Thao tác với chuỗi có thể giúp ích rất nhiều trong các lĩnh vực khác nhau. Nó có thể giúp phân tích văn bản , đối sánh dữ liệu, khai thác dữ liệu, v.v. Trong bài viết này, chúng ta sẽ tập trung vào việc so sánh hai chuỗi trong Java có mục đích khác nhau đối với thao tác chuỗi. Sau đây là các điểm sẽ được thảo luận ở đây

Vì vậy, hãy để chúng tôi bắt đầu,





So sánh hai chuỗi trong Java

Một chuỗi các ký tự có thể được định nghĩa là một Chuỗi. Chúng là bất biến, tức là không thể sửa đổi sau khi được tạo. Có nhiều phương pháp khác nhau để so sánh hai chuỗi trong java, như bên dưới.

Phương pháp chuỗi bằng

Các chuỗi được so sánh trên cơ sở các giá trị có trong chuỗi. Phương thức trả về true nếu giá trị của hai chuỗi giống nhau và false nếu giá trị không khớp.



public class Main {public static void main (String args []) {String str1 = new String ('Rock') String str2 = new String ('Roll') String str3 = new String ('rock') String str4 = new String ('Rock') String str5 = new String ('Roll') // so sánh các chuỗi System.out.println ('So sánh' + str1 + 'và' + str2 + ':' + str1.equals (str2)) Hệ thống .out.println ('So sánh' + str3 + 'và' + str4 + ':' + str3.equals (str4)) System.out.println ('So sánh' + str4 + 'và' + str5 + ':' + str4.equals (str5)) System.out.println ('So sánh' + str1 + 'và' + str4 + ':' + str1.equals (str4))}}

Đầu ra:

So sánh Rock and Roll: false

So sánh rock và Rock: false



So sánh Rock and Roll: false

cấu trúc dữ liệu và thuật toán java

So sánh Rock và Rock: true

Hãy để chúng tôi tiếp tục với phần thứ hai của bài viết này,

Trường hợp bỏ qua chuỗi bằng nhau

Phương thức này so sánh hai chuỗi và không tính đến trường hợp của chuỗi (dưới hoặc trên). Trả về true nếu các giá trị bằng nhau và không rỗng.

public class Main {public static void main (String args []) {String str1 = new String ('Rock') String str2 = new String ('Roll') String str3 = new String ('rock') String str4 = new String ('Rock') String str5 = new String ('Roll') // So sánh Strings System.out.println ('So sánh' + str1 + 'và' + str2 + ':' + str1.equalsIgnoreCase (str2)) Hệ thống. out.println ('So sánh' + str3 + 'và' + str4 + ':' + str3.equalsIgnoreCase (str4)) System.out.println ('So sánh' + str4 + 'và' + str5 + ':' + str4 .equalsIgnoreCase (str5)) System.out.println ('So sánh' + str1 + 'và' + str4 + ':' + str1.equalsIgnoreCase (str4))}}

Đầu ra:

So sánh Rock and Roll: false

So sánh rock và Rock: true

So sánh Rock and Roll: false

So sánh Rock và Rock: true

Hãy để chúng tôi tiến xa hơn với phần tiếp theo của việc so sánh hai chuỗi này trong bài viết Java,

Phương pháp bình đẳng đối tượng

Nếu các đối số bằng nhau, phương thức trả về true, ngược lại, nó trả về false. Nếu cả hai đối số hiện tại là null, kết quả trả về là true. Nếu một đối số có giá trị null, kết quả trả về là false.

import java.util. * public class Main {public static void main (String args []) {String str1 = new String ('Rock') String str2 = new String ('Roll') String str3 = new String ('Roll' ) String str4 = null String str5 = null System.out.println ('So sánh' + str1 + 'và' + str2 + ':' + Objects.equals (str1, str2)) System.out.println ('So sánh' + str2 + 'và' + str3 + ':' + Objects.equals (str2, str3)) System.out.println ('So sánh' + str1 + 'và' + str4 + ':' + Objects.equals (str1, str4 )) System.out.println ('So sánh' + str4 + 'và' + str5 + ':' + Objects.equals (str4, str5))}}

Đầu ra:

So sánh Rock and Roll: false

So sánh Roll và Roll: true

So sánh Rock và null: false

So sánh null và null: true

Hãy để chúng tôi tiến xa hơn bây giờ

So sánh chuỗi với phương thức

Trong phương pháp này, các chuỗi đầu vào được so sánh với nhau. Giá trị trả về sau khi so sánh như sau:

  • if (str1> str2), một giá trị dương được trả về.
  • Nếu (str1 == str2), 0 được trả về.
  • Nếu (str1

import java.util. * public class Main {public static void main (String args []) {String str1 = new String ('Rock') String str2 = new String ('Pop') String str3 = new String ('Roll' ) String str4 = new String ('Roll') System.out.println ('So sánh' + str1 + 'và' + str2 + ':' + str1.compareTo (str2)) // So sánh Chuỗi 3 = Chuỗi 4 Hệ thống. out.println ('So sánh' + str3 + 'và' + str4 + ':' + str3.compareTo (str4)) System.out.println ('So sánh' + str2 + 'và' + str4 + ':' + str2 .compareTo (str4))}}

Đầu ra:

cách kết nối cơ sở dữ liệu mysql trong java

So sánh Rock và Pop: 2

So sánh cuộn và cuộn: 0

So sánh Pop và Roll: -2

Điều này đưa chúng ta đến phần cuối cùng của việc so sánh hai chuỗi này trong bài viết Java,

Sử dụng Double Equal To Operator

Phương pháp này nên tránh khi so sánh hai giá trị chuỗi. Sự khác biệt chính giữa toán tử bằng () và == được đưa ra dưới đây:

  • Trong khi equals () là một phương thức, == là một toán tử.

  • Toán tử == được sử dụng để so sánh tham chiếu, trong khi mặt khác, phương thức equals () được sử dụng để so sánh nội dung.

== toán tử được tránh, vì nó kiểm tra sự bình đẳng tham chiếu, tức là nếu các chuỗi trỏ đến cùng một đối tượng hay không.

import java.util. * public class Main {public static void main (String [] args) {String str1 = new String ('Rock') String str2 = new String ('Rock') System.out.println (str1 == str2) System.out.println (str1.equals (str2))}}

Đầu ra:

sai

cách chụp ảnh màn hình bằng selen

thật

Các phương pháp được đề cập trong bài viết cung cấp một cách tỉ mỉ để so sánh hai chuỗi trong ngôn ngữ lập trình java.

Như vậy chúng ta đã kết thúc bài viết này về 'Mảng các đối tượng trong Java'. Nếu bạn muốn tìm hiểu thêm, hãy xem bởi Edureka, một công ty học trực tuyến đáng tin cậy. Khóa đào tạo và cấp chứng chỉ Java J2EE và SOA của Edureka được thiết kế để đào tạo bạn về cả khái niệm Java cốt lõi và nâng cao cùng với các khung công tác Java khác nhau như Hibernate & Spring.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến vấn đề này trong phần bình luận của bài viết này và chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.