記錄

JAVA) ' .equlas ' 와 ' == ' 의 차이 본문

Computer language/JAVA

JAVA) ' .equlas ' 와 ' == ' 의 차이

surhommejk 2018. 2. 13. 09:47

/*
'.equals' vs '=='
<.equals API >
public boolean equals(Object anObject) Compares this string to the specified
object. The result is true if and only if the argument is not null and is a
String object that represents the same sequence of characters as this object.
=> ((파라미터 ! = null) && (same sequence of characters)) 일때 true를 반환.
그 외에는 false.
< == >
' == '의 왼쪽과 오른쪽의 operand를 비교하여 값이 같으면 true를 반환한다 주의할 것은
참조형을 비교할 경우 이 참조형의 '주소값'을 비교한다는 것이다
따라서 int형은 상관없는데 String의 경우 겉보기에는 같아도 주소값이 다르면 false를 반환한다.
여기서 내가 헷갈렸던 부분은 ==은 int에 .equals는 String에만 쓰는 줄 알았던 것이다
정리를 하자면, == 은 아무 타입에나 해도 되지만 참조형의 경우 주소값을 비교하게 되고
Stringtype.equals()는 해당 변수가 지닌 String 값의 sequence of characters를 비교해서
같으면 true를 반환한다는 것이다
*/


'Computer language > JAVA' 카테고리의 다른 글

JAVA) Map.Entry와 entrySet()  (1) 2018.02.14
JAVA) Stream  (0) 2018.02.14
JAVA) Down Casting  (0) 2018.02.09
JAVA) 컬렉션 프레임워크(Collection Framework)  (0) 2018.02.09
JAVA) 메모리 구조 -2 (수정중)  (0) 2018.02.08
Comments