문자열은 일련의 문자입니다. Java에서 String의 객체는 불변입니다. 즉, 상수이고 일단 생성되면 변경할 수 없음을 의미합니다.
저장
Java에서 문자열을 비교하는 방법
다음은 두 가지를 비교하는 5가지 방법입니다. 문자열 자바에서:
- 사용자 정의 함수 사용
- String.equals() 사용
- String.equalsIgnoreCase() 사용
- Objects.equals() 사용
- String.compareTo() 사용
1. 사용자 정의 함수 사용:
다음 조건과 값을 비교하는 함수를 정의합니다.
- (문자열1> 문자열2)인 경우 다음을 반환합니다. 양수 값 .
- 두 문자열이 모두 사전식으로 동일한 경우, 즉 (string1 == string2) 반환됩니다. 0 .
- if(문자열1
음수 값 .
2. String.equals() 사용:
Java에서 string equals() 메소드는 문자열의 데이터/내용을 기반으로 주어진 두 문자열을 비교합니다. 두 문자열의 모든 내용이 동일하면 true를 반환합니다. 일치하지 않는 문자가 있으면 false를 반환합니다.
통사론:
str1.equals(str2);>
여기서 str1과 str2는 모두 비교할 문자열입니다.
예:
Input 1: techcodeview.com Input 2: Practice Output: false Input 1: Geeks Input 2: Geeks Output: true Input 1: geeks Input 2: Geeks Output: false>
프로그램:
자바 // Java program to Compare two strings // lexicographically public class GFG { public static void main(String args[]) { String string1 = new String('Geeksforgeeks'); String string2 = new String('Practice'); String string3 = new String('Geeks'); String string4 = new String('Geeks'); String string5 = new String('geeks'); // Comparing for String 1 != String 2 System.out.println('Comparing ' + string1 + ' and ' + string2 + ' : ' + string1.equals(string2)); // Comparing for String 3 = String 4 System.out.println('Comparing ' + string3 + ' and ' + string4 + ' : ' + string3.equals(string4)); // Comparing for String 4 != String 5 System.out.println('Comparing ' + string4 + ' and ' + string5 + ' : ' + string4.equals(string5)); // Comparing for String 1 != String 4 System.out.println('Comparing ' + string1 + ' and ' + string4 + ' : ' + string1.equals(string4)); } }> 산출
Comparing Geeksforgeeks and Practice : false Comparing Geeks and Geeks : true Comparing Geeks and geeks : false Comparing Geeksforgeeks and Geeks : false>
3. String.equalsIgnoreCase() 사용:
그만큼 String.equalsIgnoreCase() 메서드는 문자열의 대소문자(낮음 또는 위쪽)에 관계없이 두 문자열을 비교합니다. 이 메서드는 인수가 null이 아니고 두 문자열의 내용이 대소문자를 무시하고 동일하면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 통사론:
str2.equalsIgnoreCase(str1);>
여기서 str1과 str2는 모두 비교할 문자열입니다.
예:
Input 1: techcodeview.com Input 2: Practice Output: false Input 1: Geeks Input 2: Geeks Output: true Input 1: geeks Input 2: Geeks Output: true>
프로그램:
자바 // Java program to Compare two strings // lexicographically public class GFG { public static void main(String args[]) { String string1 = new String('Geeksforgeeks'); String string2 = new String('Practice'); String string3 = new String('Geeks'); String string4 = new String('Geeks'); String string5 = new String('geeks'); // Comparing for String 1 != String 2 System.out.println( 'Comparing ' + string1 + ' and ' + string2 + ' : ' + string1.equalsIgnoreCase(string2)); // Comparing for String 3 = String 4 System.out.println( 'Comparing ' + string3 + ' and ' + string4 + ' : ' + string3.equalsIgnoreCase(string4)); // Comparing for String 4 = String 5 System.out.println( 'Comparing ' + string4 + ' and ' + string5 + ' : ' + string4.equalsIgnoreCase(string5)); // Comparing for String 1 != String 4 System.out.println( 'Comparing ' + string1 + ' and ' + string4 + ' : ' + string1.equalsIgnoreCase(string4)); } }> 산출
Comparing Geeksforgeeks and Practice : false Comparing Geeks and Geeks : true Comparing Geeks and geeks : true Comparing Geeksforgeeks and Geeks : false>
4. Objects.equals() 사용:
Object.equals(객체 a, 객체 b) 메서드는 인수가 서로 같으면 true를 반환하고 그렇지 않으면 false를 반환합니다. 결과적으로 두 인수가 모두 Null이면 true가 반환되고, 정확히 하나의 인수가 Null이면 false가 반환됩니다. 그렇지 않으면 첫 번째 인수의 equals() 메소드를 사용하여 동등성을 판별합니다. 통사론:
public static boolean equals(Object a, Object b)>
여기서 a와 b는 모두 비교할 문자열 개체입니다.
예:
Input 1: techcodeview.com Input 2: Practice Output: false Input 1: Geeks Input 2: Geeks Output: true Input 1: null Input 2: null Output: true>
프로그램:
자바 // Java program to Compare two strings // lexicographically import java.util.*; public class GFG { public static void main(String args[]) { String string1 = new String('Geeksforgeeks'); String string2 = new String('Geeks'); String string3 = new String('Geeks'); String string4 = null; String string5 = null; // Comparing for String 1 != String 2 System.out.println( 'Comparing ' + string1 + ' and ' + string2 + ' : ' + Objects.equals(string1, string2)); // Comparing for String 2 = String 3 System.out.println( 'Comparing ' + string2 + ' and ' + string3 + ' : ' + Objects.equals(string2, string3)); // Comparing for String 1 != String 4 System.out.println( 'Comparing ' + string1 + ' and ' + string4 + ' : ' + Objects.equals(string1, string4)); // Comparing for String 4 = String 5 System.out.println( 'Comparing ' + string4 + ' and ' + string5 + ' : ' + Objects.equals(string4, string5)); } }> 산출
Comparing Geeksforgeeks and Geeks : false Comparing Geeks and Geeks : true Comparing Geeksforgeeks and null : false Comparing null and null : true>
5. 두 문자열 비교를 위해 String.compareTo() 사용
문자열 CompareTo()의 구문
int str1.compareTo(String str2)>
일하고 있는: 다음 값을 비교하여 다음과 같이 반환합니다.
- (문자열1> 문자열2)인 경우 다음을 반환합니다. 양수 값 .
- 두 문자열이 모두 사전식으로 동일한 경우, 즉 (string1 == string2) 반환됩니다. 0 .
- if(문자열1
음수 값 .
아래는 위의 방법을 구현한 것입니다.
자바 // Java program to Compare two strings // Using String.compareTo() import java.util.*; // Diver Class public class GFG { public static void check(String string1, String string2) { if (string1.compareTo(string2)!=0) { System.out.println(string1 + ' ' + string2 + ' : Not Equal'); } else { System.out.println(string1 + ' ' + string2 + ' : Equal'); } } // main function public static void main(String args[]) { String string1 = new String('Geeksforgeeks'); String string2 = new String('Geeks'); String string3 = new String('Geeks'); String string4 = ' '; String string5 = ' '; // Comparing for String 1 != String 2 check(string1, string2); // Comparing for String 2 = String 3 check(string2, string3); // Comparing for String 1 != String 4 check(string1, string4); // Comparing for String 4 = String 5 check(string4, string5); } }> 산출
Geeksforgeeks Geeks : Not Equal Geeks Geeks : Equal Geeksforgeeks : Not Equal : Equal>
메모: NULL 문자열은 CompareTo() 메서드에 인수로 전달할 수 없습니다.
해당 주제에 대한 자세한 내용은 다음을 참조하세요. 문자열.비교To() 기사.
문자열 비교에 ==를 사용하지 않는 이유는 무엇입니까?
일반적으로 둘 다 같음() 그리고 == Java의 연산자는 객체를 비교하여 동등성을 확인하는 데 사용되지만 다음은 둘 사이의 몇 가지 차이점입니다.
- .equals() 메서드와 == 연산자의 주요 차이점은 하나는 메서드이고 다른 하나는 연산자라는 것입니다.
- 참조 비교를 위해 == 연산자를 사용할 수 있습니다. (주소 비교) 및 .equals() 메소드 내용 비교 .
- s1과 s2는 모두 다른 객체를 참조합니다.
- s1과 s2 비교에 == 연산자를 사용하면 둘 다 메모리에서 서로 다른 주소를 가지므로 결과는 거짓입니다.
- 같음을 사용하면 s1과 s2에 지정된 값만 비교하기 때문에 결과는 참입니다.
해당 주제에 대한 자세한 내용은 다음을 참조하세요. 문자열 비교 기사.