반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Tags
- Button
- 자바스크립트
- 자바
- Eclipse
- CSS
- 배열
- 정규식
- javascript
- vscode
- IntelliJ
- 인텔리제이
- input
- 이클립스
- ArrayList
- Array
- 이탈리아
- map
- list
- date
- 문자열
- js
- html
- replace
- table
- CMD
- Java
- Visual Studio Code
- json
- string
- HashMap
Archives
- Today
- Total
어제 오늘 내일
[Java String] equals() vs equalsIgnoreCase() – 문자열 비교하기 본문
자바에서 문자열이 같은지 비교할 때는 ==
대신 equals()
메서드를 써야 한다는 건 많이 알려져 있습니다.
하지만 대소문자를 구분하지 않고 비교해야 할 때는 equalsIgnoreCase()
를 쓰면 훨씬 편리합니다.
1. equals()
public boolean equals(Object anObject)
- 두 문자열이 완전히 동일할 때만
true
- 대소문자를 구분함
String s1 = "Java";
String s2 = "Java";
String s3 = "java";
System.out.println(s1.equals(s2)); // true
System.out.println(s1.equals(s3)); // false (대소문자 다름)
👉 "Java"
와 "java"
는 다른 문자열로 취급합니다.
2. equalsIgnoreCase()
public boolean equalsIgnoreCase(String anotherString)
- 문자열을 비교할 때 대소문자를 무시
"Java"
,"JAVA"
,"java"
모두 같은 문자열로 본다
String s1 = "Hello";
String s2 = "HELLO";
System.out.println(s1.equals(s2)); // false
System.out.println(s1.equalsIgnoreCase(s2)); // true
👉 대소문자를 구분하지 않아야 할 때 매우 유용합니다.
3. 실전 활용 예제
사용자 입력 비교
Scanner sc = new Scanner(System.in);
System.out.print("계속하시겠습니까? (yes/no): ");
String input = sc.nextLine();
if (input.equalsIgnoreCase("yes")) {
System.out.println("프로그램을 계속 실행합니다.");
}
👉 "yes"
, "YES"
, "Yes"
등 어떤 형태로 입력해도 인식 가능.
파일 확장자 체크
String filename = "report.PDF";
if (filename.endsWith(".pdf") || filename.endsWith(".PDF")) {
System.out.println("PDF 파일입니다.");
}
이 코드를 equalsIgnoreCase()
와 함께 쓰면 더 깔끔하게 처리 가능:
if (filename.toLowerCase().endsWith(".pdf")) {
System.out.println("PDF 파일입니다.");
}
혹은 비교 문자열 자체를 equalsIgnoreCase()
로 검사하는 방식도 가능.
4. 정리
equals()
→ 문자열이 정확히 같을 때만 trueequalsIgnoreCase()
→ 대소문자 구분 없이 같으면 true- 사용자 입력, 확장자 비교 등 대소문자를 무시해야 하는 상황에서는
equalsIgnoreCase()
를 쓰는 게 더 적절
👉 대소문자까지 정확히 비교할 땐 equals()
, 무시하고 비교할 땐 equalsIgnoreCase()
.
반응형
'IT > Java' 카테고리의 다른 글
[Java String] toUpperCase(), toLowerCase() – 대소문자 변환하기 (0) | 2025.09.19 |
---|---|
[Java String] compareTo() vs compareToIgnoreCase() – 문자열 사전순 비교 (0) | 2025.09.19 |
[Java String] contains() – 문자열 포함 여부 확인하기 (0) | 2025.09.18 |
[Java String] startsWith(), endsWith() – 문자열 시작과 끝 검사하기 (0) | 2025.09.17 |
[Java String] isEmpty() vs isBlank() 차이 정리 (0) | 2025.09.17 |
Comments