我有代码:
List<String> list = new ArrayList<String>();
list.add("10.160.0.100;14/Nov/201107:22:38;/;-;");
list.add("10.160.0.100;14/Nov/201108:54:31;/;-;");
list.add("10.160.0.10;16/Nov/201112:56:38;/;-;");
list.add("10.160.0.100");
list.add("10.160.0.100");
list.add("10.160.0.10");
Collections.sort(list);
for (String temp : list) {
System.out.println(temp);
}
输出是:
10.160.0.10
10.160.0.100
10.160.0.100
10.160.0.100; 14 /月/ 201107:22:38; /; - ;
10.160.0.100; 14 /月/ 201108:54:31; /; - ;
10.160.0.10; 16 /月/ 201112:56:38; /; - ;
为什么?我需要这个输出:
10.160.0.10
10.160.0.100
10.160.0.100
10.160.0.10; 16 /月/ 201112:56:38; /; - ;
10.160.0.100; 14 /月/ 201107:22:38; /; - ;
10.160.0.100; 14 /月/ 201108:54:31; /; - ;
答案 0 :(得分:4)
因为在ASCII中,;
字符的数字高于0
字符。