Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

เปรียบเทียบสองสตริงใน Java


เปรียบเทียบสองสตริงโดยใช้วิธี CompareTo() ใน Java ไวยากรณ์มีดังนี้ −

int compareTo(Object o)

ในที่นี้ o เป็นวัตถุที่จะเปรียบเทียบ

ค่าที่ส่งกลับเป็น 0 ถ้าอาร์กิวเมนต์เป็นสตริง lexicographically เท่ากับสตริงนี้ ค่าที่น้อยกว่า 0 ถ้าอาร์กิวเมนต์เป็นสตริงที่มากกว่าสตริงนี้ และค่าที่มากกว่า 0 ถ้าอาร์กิวเมนต์เป็นสตริงพจนานุกรมน้อยกว่าสตริงนี้

ตัวอย่าง

เรามาดูตัวอย่างกัน −

public class Demo {
   public static void main(String args[]) {
      String str1 = "Strings are immutable";
      String str2 = new String("Strings are immutable");
      String str3 = new String("Integers are not immutable");
      int result = str1.compareTo( str2 );
      System.out.println(result);
      result = str2.compareTo( str3 );
      System.out.println(result);
   }
}

ผลลัพธ์

0
10

ให้เราดูตัวอย่างอื่นที่เรากำลังเปรียบเทียบสองสตริง lexicographically โดยไม่สนใจความแตกต่างของตัวพิมพ์โดยใช้ comparisonToIgnoreCase() เมธอดนี้คืนค่าจำนวนเต็มลบ ศูนย์ หรือจำนวนเต็มบวก เนื่องจากสตริงที่ระบุมากกว่า เท่ากับ หรือน้อยกว่าสตริงนี้ โดยไม่สนใจการพิจารณาตัวพิมพ์เล็กและใหญ่

ไวยากรณ์มีดังนี้ −

int compareToIgnoreCase(String str)

ในที่นี้ str คือสตริงที่จะเปรียบเทียบ

ตัวอย่าง

เรามาดูตัวอย่างเพื่อเปรียบเทียบสตริงโดยไม่สนใจตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ -

public class Demo {
   public static void main(String args[]) {
      String str1 = "Strings are immutable";
      String str2 = "Strings are immutable";
      String str3 = "Integers are not immutable";
      int result = str1.compareToIgnoreCase( str2 );
      System.out.println(result);
      result = str2.compareToIgnoreCase( str3 );
      System.out.println(result);
      result = str3.compareToIgnoreCase( str1 );
      System.out.println(result);
   }
}

ผลลัพธ์

0
10
-10