두 문자열의 크기를 직접 비교하면 다음이 포함됩니다. 연산자>는 인수 유형에 대해 정의되지 않습니다. java.lang.string, java.lang.string 오류.
문자열 크기는 문자열 길이 또는 문자열의 문자의 ASCII 코드 값과 비교할 수 있습니다. 전자는 너무 단순하기 때문에 나레이션은 기록되지 않습니다.
문자열은 ASCII 코드와 비교되며 규칙은 다음과 같습니다.
1. 첫 번째 문자의 ASCII 코드 크기 비교
2. 이전의 문자가 동일하다면 비교 후 문자의 ASCII 코드 값
3. 문자열에 첫 번째 문자의 다른 문자열이 포함 된 경우 문자열의 길이가 길어지는 것으로 간주됩니다. 예 : ABC> AB
참고 : 코드에서 Commons-Logging-1.2.jar를 사용하여 소규모에서 큰 것으로 정렬합니다.
import org.apache.commons.logging.log; import org.apache.commons.logging.logfactory;/** * 정렬 문자열 배열 * @author panjianghong * @since 2016/8/31 */public class stringsort {private static final log _log = logfactory.getlog (stringsort.class); / ** * 정렬 문자열 배열 * @param keys * @return * */ public static string [] geturlparam (String [] 키) {for (int i = 0; i <keys.length -1; i ++) {(int j = 0; 문자열 next = 키 [j + 1]; if (ismorethan (pre, next)) {문자열 temp = pre; 키 [J] = 다음; 키 [j+1] = 온도; }}} 리턴 키; } / ** * 두 줄의 크기를 비교하고 ASCII 문자 코드에 따라 비교 * @param pre * @param next * @return * * / private static boolean ismorethan (string pre, string next) {if (null == pre || null == next || "".eequals (pre) || "". 비어 있는!"); 거짓을 반환합니다. } char [] c_pre = pre.tochararray (); char [] c_next = next.tochararray (); int minsize = math.min (c_pre.length, c_next.length); for (int i = 0; i <minsize; i ++) {if (int) c_pre [i]> (int) c_next [i]) {return true; } else if ((int) c_pre [i] <(int) c_next [i]) {return false; }} if (c_pre.length> c_next.length) {return true; } false를 반환합니다. } public static void main (String [] args) {String [] keys = geturlparam (new String [] { "fin", "abc", "shidema", "shide", "bushi"}); for (문자열 키 : 키) {system.out.println (키); }}}콘솔 인쇄 결과는 다음과 같습니다.
알파벳
부시
지느러미
셔드
Shidema
Java String 배열 크기 정렬의 간단한 구현은 내가 공유하는 모든 컨텐츠입니다. 나는 당신이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.