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를 반환한다는 것이다
*/