상세 컨텐츠

본문 제목

Java String compareTo 메소드

IT/프로그래밍

by James Lee. 2015. 12. 6. 20:26

본문

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"));
}

관련글 더보기

댓글 영역