자바 String 비교 의 기본 문제

자바 6 의 표준 라 이브 러 리 안의 string 을 비교 하 는 방법 은 그 중 일부 가 불필요 하 다 고 느낀다.즉, 두 바 이 트 는 Character. toUpperCase (c1) 를 비교 한 후 같 지 않 으 면 이 두 char 가 다 를 것 이 고 Character. toLowerCase (c1) 를 더 이상 비교 할 필요 가 없다 는 것 이다.


public int compare(String s1, String s2) {
            int n1=s1.length(), n2=s2.length();
            for (int i1=0, i2=0; i1<n1 && i2<n2; i1++, i2++) {
                char c1 = s1.charAt(i1);
                char c2 = s2.charAt(i2);
                if (c1 != c2) {
                    c1 = Character.toUpperCase(c1);
                    c2 = Character.toUpperCase(c2);
                    if (c1 != c2) {
                        c1 = Character.toLowerCase(c1);
                        c2 = Character.toLowerCase(c2);
                        if (c1 != c2) {
                            return c1 - c2;
                        }
                    }
                }
            }
            return n1 - n2;
        }


좋은 웹페이지 즐겨찾기