compareTo()는 문자열을 비교하는 메서드이다.
하지만 그냥 같과 다름을 비교하는 것이 아니라 여러가지 조건으로 분류하여 비교한다.
분류 기준은 아래의 2가지이다.
1. 문자열의 내용이 같은가
2. 문자열의 길이가 같은가
내용도 다르고 길이도 다른 경우는 내용을 우선 비교한다.
기준 문자열에서 비교 문자열이 더 긴 경우 (0을 기준으로 긴 길이만큼 -)
기준 문자열에서 비교 문자열이 더 짦은 경우 (0을 기준으로 짧은 길이만큼 +)
그리고 문자열의 내용을 비교할때는 앞에서부터 순차적으로 비교한다.
서로 다른 문자열이 제일 처음으로 발견되면, 그 문자열만 기준으로 삼는다.
기준 문자열의 문자와 아스키코드값을 비교한다.
기준 문자열의 문자의 코드값 - 비교 대상 문자의 코드값
public void compareTo() // ??...
{
str = "abcdef";
// 문자열이 동일한 경우
assertEquals(0, str.compareTo("abcdef"));
// 문자열이 동일하지 않은 경우
assertEquals(-1, str.compareTo("bbcdef")); // 기준 문자열의 첫번째 문자와 기준 문자(a)의 코드값을 비교
assertEquals(-2, str.compareTo("cbcdef"));
assertEquals(1, str.compareTo("abb")); // 기준 문자열의 세번째 문자(b)의 코드값을 비교
assertEquals(1, str.compareTo("abbb"));
assertEquals(-2, str.compareTo("abe")); // 기준 문자열의 n번째 문자의 코드값 - 비교 문자열의 n번째 문자의 코드값
// 길이가 긴 경우
assertEquals(-3, str.compareTo("abcdef---"));
assertEquals(-2, str.compareTo("abcdef--"));
// 길이는 같지만 내용이 다른 경우
assertEquals(-3, str.compareTo("dbcdef"));
assertEquals(1, str.compareTo("aacdef"));
}
리눅스 외부명령어 내부명령어 동작 원리 (0) | 2015.12.06 |
---|---|
이클립스 단축키 정리 (0) | 2015.12.06 |
Java 1.7 패키지 역활을 번역해보았다. (0) | 2015.12.06 |
TPS, 트랜잭션, CSV, 룩앤필, 크로스 플랫폼 (0) | 2015.12.06 |
[Jmeter] Jmeter란?, Jmeter 다운로드 (0) | 2015.12.06 |
댓글 영역