1. 공통점
==, compare, equals 메소드 모두 문자열 비교가 가능함.
2. 차이점
== 연산자: 내용과 객체까지 같은지 비교.
즉, 객체로 저장된 String과 상수 String을 ==연산자로 비교한 값을 확인해 보면 false로 나온다.
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
|
public static void main(String[] args) {
String str1 = "abc";
System.out.println("[variable] str1 == \"abc\" ▶︎▶︎▶︎ " + (str1 == "abc") );
System.out.println("[variable] str1.equals(\"abc\") ▶︎▶︎▶︎ " + str1.equals("abc") );
System.out.println("[variable] str1.compareTo(\"abc\") == 0 ▶︎▶▶︎︎ " + (str1.compareTo("abc")==0) );
System.out.println();
String str2 = new String("abc");
System.out.println("[object] str2 == \"abc\" ▶︎▶︎▶︎ " + (str2 == "abc") );
System.out.println("[object] str2.equals(\"abc\") ▶︎▶︎▶︎ " + str2.equals("abc") );
System.out.println("[object] str2.compareTo(\"abc\") == 0 ▶︎▶︎▶︎ " + (str2.compareTo("abc")==0) );
System.out.println();
String [] str3 = new String [1];
str3[0] = "abc";
System.out.println("[object] str3[0] == \"abc\" ▶︎▶︎▶︎ " + (str3[0] == "abc") );
System.out.println("[object] str3[0].equals(\"abc\") ▶︎▶︎▶︎ " + str3[0].equals("abc") );
System.out.println("[object] str3[0].compareTo(\"abc\") == 0 ▶︎▶︎▶︎ " + (str3[0].compareTo("abc")==0) );
System.out.println("========================================================");
System.out.println("[DEBUG] str3[0] ▶︎▶︎▶︎ " + str3[0]);
System.out.println("[DEBUG] str3 ▶︎▶︎▶︎ " + str3);
}
|
cs |
'언어 > JAVA' 카테고리의 다른 글
Scanner객체 NoSuchElementException 오류 (0) | 2021.06.20 |
---|---|
Java 버전별 달라진 점. (0) | 2020.07.22 |
클래스 상속과 클래스 타입 참조변수 확인 (0) | 2019.08.20 |
JAVA 문자열 실수형 변환 및 반올림 함수 사용법 (0) | 2019.08.11 |
이클립스 주석 컬러 변경 (0) | 2019.06.18 |