티스토리 뷰
자바의 기본 객체 함수 중 하나인 equal() 함수는 객체의 값을 비교하는 연산자이다.
== 연산자는 객체의 주소를 비교하고, equals()는 객체의 값을 비교하는 연산자이다.
보통 equals()는 문자열(String)의 값을 비교하는데 많이 사용한다.
Object의 equals() 함수는 다음과 같다.
즉, 객체의 주소값을 비교하여 반환한다.
public boolean equals(Object obj) {
return (this == obj);
}
하지만 String 객체의 equals() 함수는 다음과 같다.
문자열의 char 를 하나하나 비교하여 동일하면 true, 다르면 false 를 반환한다.
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String anotherString = (String)anObject;
int n = value.length;
if (n == anotherString.value.length) {
char v1[] = value;
char v2[] = anotherString.value;
int i = 0;
while (n-- != 0) {
if (v1[i] != v2[i])
return false;
i++;
}
return true;
}
}
return false;
}
String 의 경우 같은 문자라도 주소가 다를 수 있지만, 이렇게 equals() 함수를 오버라이드하여 재구성했기 때문에
동일한 문자열의 확인이 가능하다.
'java' 카테고리의 다른 글
[Java] JAVA9 의 특징 (0) | 2017.11.10 |
---|---|
[java] jar 파일 실행 (0) | 2017.07.27 |
[java][jsoup] HTML 파싱을 위한 jsoup 라이브러리 예제 (2) | 2016.11.09 |
[java][프록시] 네트워크 프록시 설정 (0) | 2016.11.08 |
[java][스크랩] JSON 파서 선택하기 (0) | 2016.10.06 |
- Total
- Today
- Yesterday
- bash
- AWS
- emr
- hbase
- 오류
- S3
- HDFS
- 다이나믹
- build
- 알고리즘
- nodejs
- java
- error
- 하둡
- airflow
- HIVE
- 파이썬
- Linux
- Python
- mysql
- 하이브
- SPARK
- ubuntu
- yarn
- 정올
- SQL
- Hadoop
- 백준
- oozie
- Tez
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |