Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 문자열 비교를 대소문자를 구분하지 않도록 하려면 어떻게 해야 합니까?

<시간/>

다양한 방법으로 Java의 문자열을 비교할 수 있습니다. −

  • comapareTo() 메소드 사용 - compareTo() 메서드는 사전순으로 두 문자열을 비교합니다. 비교는 문자열에 있는 각 문자의 유니코드 값을 기반으로 합니다. 이 String 개체가 나타내는 문자 시퀀스는 사전순으로 인수 문자열이 나타내는 문자 시퀀스와 비교됩니다.

예시

import java.util.Scanner;
public class StringComparison {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter string1: ");
      String str1 = sc.next();
      System.out.println("Enter string2: ");
      String str2 = sc.next();
      int result = str1.compareTo(str2);
      if (result < 0) {
         System.out.println("str1 is not equal to str2");
      } else if (result == 0) {
         System.out.println("str1 is equal to str2");
      } else {
         System.out.println("str1 is not equal to str2");
      }
   }
}

출력1

Enter string1:
Hello
Enter string2:
Hello
str1 is equal to str2

출력2

Enter string1:
hello
Enter string2:
hi
str1 is not equal to str2
입력
  • ==연산자 사용 − ==연산자를 사용하여 두 문자열을 비교할 수 있습니다. 그러나 값이 아닌 주어진 변수의 참조를 비교합니다.

예시

import java.util.Scanner;
public class StringComparison {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      String str1 = "hello";
      String str2 = "hello";
      if (str1 == str2 ){
         System.out.println("Both are equal");
      } else {
         System.out.println("Both are not equal");
      }
   }
}

출력

Both are equal
  • equals() 사용 String 클래스의 메소드 -는 String을 매개변수로 받아들이고 현재 문자열을 지정된 객체와 비교합니다. 인수가 null이 아니고 대소문자를 포함하여 이 객체와 동일한 문자 시퀀스를 나타내는 String 객체인 경우에만 결과가 true입니다.

예시

import java.util.Scanner;
public class StringComparison {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter string1: ");
      String str1 = sc.next();
      System.out.println("Enter string2: ");
      String str2 = sc.next();
      boolean bool = str1.equals(str2);
      if (bool) {
         System.out.println("Both are equal");
      } else {
         System.out.println("Both are not equal");
      }
   }
}

출력1

Enter string1:
Hello
Enter string2:
hello
Both are not equal

출력2

Enter string1:
Hello
Enter string2:
Hello
Both are equal

대소문자를 구분하지 않는 문자열 비교

equalsIgnoreCase() String 클래스의 메서드는 equals() 메서드와 비슷하지만 이 메서드가 대소문자를 무시하고 주어진 문자열과 현재 문자열을 비교한다는 차이점이 있습니다.

예시

import java.util.Scanner;
public class StringComparison {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter string1: ");
      String str1 = sc.next();
      System.out.println("Enter string2: ");
      String str2 = sc.next();
      boolean bool = str1.equalsIgnoreCase(str2);
      if (bool) {
         System.out.println("Both are equal");
      } else {
         System.out.println("Both are not equal");
      }
   }
}

출력1

Enter string1:
Hello
Enter string2:
hello
Both are equal