equals와 ==의 차이(===)

Lee HyeongJong·2022년 10월 20일
0

안드로이드

목록 보기
20/43

equals

코드

String val1;
String val2 = "123";
System.out.println(val1.equals(val2));
System.out.println(val2.equals(val1));

결과

Compilation Errors Detected

File: ALIEN_255971/source/domain/HelloWorld.java
Line: 8
variable val1 might not have been initialized

val1에는 값이 없다.
val1.equals(val2)에서 val1에 값이 없으면 애러가 나오나
val2.equals(val1)에서 val1에 값이 없어도 괜찮다.

==

자바에서는 값을 비교하는 것이 아니라 주소값을비교한다.
하지만 코틀린에서는 ?? 값을 비교한다.
코틀린에서는 .equals를 자동으로 호출해주지만 자바에서는 그렇지 못하다.
자바에서 ==를 사용할때는 주소값을 비교한다는 것을 잊지 말자.

정리

equals()

Java : 값이 같은지 확인
Kotlin : 값이 같은지 확인

==

Java : 주소값이 같은지 확인
Kotlin : 값이 같은지 확인

===

Kotlin : 주소값이 같은지 확인

profile
코딩을 시작해보자

0개의 댓글