So sánh tên chuỗi trong java

Chúng ta có thể so sánh chuỗi trong Java dựa trên cơ sở nội dung và tham chiếu. 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 chuỗi bởi phương thức equals() trong Java

Phương thức equals() so sánh nội dung ban đầu của chuỗi. Nó so sánh tính cân bằng của các giá trị chuỗi. Lớp String cung cấp hai phương thức:

  • public boolean equals(Object khac) so sánh chuỗi này với object đã cho.
  • public boolean equalsIgnoreCase(String khac) so sánh chuỗi này với chuỗi khác, bỏ qua sự khác biệt về kiểu.

Ví dụ 1

class Sosanhchuoi1{ public static void main(String args[]){ String s1="Vietjack"; String s2="Vietjack"; String s3=new String("Vietjack"); String s4="Vietjackteam"; System.out.println(s1.equals(s2));//true System.out.println(s1.equals(s3));//true System.out.println(s1.equals(s4));//false } }

Quảng cáo

Ví dụ 2

class Sosanhchuoi2{ public static void main(String args[]){ String s1="Vietjack"; String s2="VIETJACK"; System.out.println(s1.equals(s2));//false System.out.println(s1.equalsIgnoreCase(s3));//true } }

So sánh chuỗi với toán tử == trong Java

Toán tử == trong Java so sánh các tham chiếu chứ không phải so sánh các giá trị. Ví dụ:

class Sosanhchuoi3{ public static void main(String args[]){ String s1="Vietjack"; String s2="Vietjack"; String s3=new String("Vietjack"); System.out.println(s1==s2);//true (boi vi ca hai cung tham chieu toi cung instance) System.out.println(s1==s3);//false(boi vi s3 tham chieu toi instance duoc tao khong phai trong Pool) } }

So sánh chuỗi bởi phương thức compareTo() trong Java

Phương thức compateTo() so sánh các giá trị theo từ điển và trả về một giá trị nguyên miêu tả rằng nếu chuỗi đầu tiên là nhỏ hơn, bằng hoặc lớn hơn chuỗi thứ hai. Giả sử s1 và s2 là hai chuỗi. Nếu:

  • s1 == s2 thì trả về 0.
  • s1 > s2 thì trả về giá trị dương
  • s1 < s2 thì trả về giá trị âm

Quảng cáo

class Teststringcomparison4{ public static void main(String args[]){ String s1="Vietjack"; String s2="Vietjack"; String s3="Doan"; System.out.println(s1.compareTo(s2));//0 System.out.println(s1.compareTo(s3));//1(boi vi s1 > s3) System.out.println(s3.compareTo(s1));//-1(boi vi s3 < s1 ) } }

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

So sánh tên chuỗi trong java

So sánh tên chuỗi trong java

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.

Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack

Loạt bài hướng dẫn của chúng tôi dựa một phần trên nguồn tài liệu của: Tutorialspoint.com

Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.

Ý nghĩa: Trả về một số nguyên là kết quả so sánh hai chuỗi st1, st2. Nếu hai chuỗi đó bằng nhau thì kết quả bằng 0, nếu chuỗi st1 < st2 thì kết quả là số âm, ngược lại nếu chuỗi st1 > st2 thì kết quả là số dương.

Cách thực hiện so sánh:

  • Hai chuỗi được coi là bằng nhau nếu như chúng giống nhau hoàn toàn.

Ví dụ:

public class VDCompareTo {

public static void main(String[] args) {

String st1 = “HOA HAU”;

String st2 = “HOA HAU”;

System.out.println(st1.compareTo(st2));

}

}

Kết quả: 0

  • Nếu st1 và st2 là các chuỗi có độ dài khác nhau và st1 là đoạn đầu của st2 thì st1

Ví dụ:

public class VDCompareTo {

public static void main(String[] args) {

String st1 = “THI”;

String st2 = “THIUNGXU”;

System.out.println(st1.compareTo(st2));

}

}

Kết quả: -5

  • Chuỗi st1 > st2 nếu kí tự đầu tiên khác nhau giữa chúng kể từ trái sang trong chuỗi st1 có mã ASCII lớn hơn. (Kết quả số nguyên trả về là giá trị mã ASCII chênh lệch)

Ví dụ:

public class VDCompareTo {

public static void main(String[] args) {

String st1 = “AD”;//D:68

String st2 = “AB”;//B:66

System.out.println(st1.compareTo(st2));

}

}

Kết quả: 2

  1. Phương thức indexOf()

Cú pháp: st1.indexOf(String st2 [,int fromIndex]);

Ý nghĩa: Trả về một số nguyên là vị trí xuất hiện đầu tiên của chuỗi st2 trong st1 hoặc bắt đầu tử chỉ số fromIndex nếu có. Nếu chuỗi st2 không có trong chuỗi st1 thì kết quả trả về -1.

Ví dụ:

So sánh tên chuỗi trong java

  1. Phương thức lastIndexOf()

Cú pháp: st1.lastIndexOf(String st2);

Ý nghĩa: Trả về một số nguyên là vị trí xuất hiện cuối cùng của chuỗi st2 trong st1. Nếu chuỗi st2 không có trong chuỗi st1 thì kết quả trả về -1.

Ví dụ:

So sánh tên chuỗi trong java

  1. Phương thức replace()

Cú pháp: st1.replace(char oldChar, char newChar);

Ý nghĩa: Thực hiện thay thế ký tự oldChar bằng ký tự newChar trong chuỗi st1. Nếu ký tự cần thay thế không có trong chuỗi st1 thì chương trình sẽ trả về chuỗi st1.

Ví dụ:

So sánh tên chuỗi trong java

Lưu ý: Phương thức replaceAll(): tương tự như phương thức replace() nhưng chỉ thực hiện thay thế chuỗi.

Phương thức replaceFirst(): tương tự như phương thức replaceAll() nhưng chỉ thực hiện thay thế chuỗi con đầu tiên có trong st1.

Ví dụ:

So sánh tên chuỗi trong java

  1. Phương thức split()

Cú pháp: st1.split(String st2, int limit)

Ý nghĩa: Trả về một mảng các chuỗi con bằng cách tách các phần tử trong chuỗi st1 bằng chuỗi st2.

limit: kiểm soát số lượng các chuỗi con kết quả.

Ví dụ:

So sánh tên chuỗi trong java
So sánh tên chuỗi trong java

  1. Phương thức substring()

Cú pháp: st.substring(int startIndex [, int endIndex]);

Ý nghĩa: Tạo một chuỗi con từ vị trí có chỉ số là stratIndex trong chuỗi st. Trong trường hợp có endIndex, thì phương thức sẽ tạo một chuỗi con bắt đầu từ vị trí có chỉ số là startIndex và kết thúc tại vị trí có chỉ số endIndex – 1 trong chuỗi st.

Ví dụ:

So sánh tên chuỗi trong java

  1. Phương thức trim()

Cú pháp: st.trim();

Ý nghĩa: Thực hiện sẽ loại bỏ các khoảng trắng thừa ở đầu và cuối chuỗi st. Nếu chuỗi đó không có khoảng trắng thừa thì chương trình sẽ trả về chuỗi gốc.