Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Arrays.sort只是因为某种原因而不排序_Java_Arrays_Sorting - Fatal编程技术网

Java Arrays.sort只是因为某种原因而不排序

Java Arrays.sort只是因为某种原因而不排序,java,arrays,sorting,Java,Arrays,Sorting,对,我对这段代码有点问题,我一辈子都搞不清楚到底发生了什么: String test = "Test"; char[] charArray = test.toCharArray(); Arrays.sort(charArray); for(char a:charArray) { System.out.println(a); } 不管出于什么原因,这根本不是对我的数组进行排序,我已经没有理由解释为什么它不能像我期望的那样进行排序了?有人知道它为什么不这样做吗?是的,它被排序是因为T小于T

对,我对这段代码有点问题,我一辈子都搞不清楚到底发生了什么:

String test = "Test";
char[] charArray = test.toCharArray();
Arrays.sort(charArray);
for(char a:charArray)
{
    System.out.println(a);
}

不管出于什么原因,这根本不是对我的数组进行排序,我已经没有理由解释为什么它不能像我期望的那样进行排序了?有人知道它为什么不这样做吗?

是的,它被排序是因为
T
小于
T
。如果您想排序,不管它们是大写还是小写,请尝试

char[] charArray = test.toLowerCase().toCharArray();
Arrays.sort(charArray);

是,它被排序是因为
T
小于
T
。如果您想排序,不管它们是大写还是小写,请尝试

char[] charArray = test.toLowerCase().toCharArray();
Arrays.sort(charArray);

它正在对数组进行排序。你就是没有意识到。”T在e之前,然后是s,然后是T。检查字符及其值。您的数组在创建时已被排序。

它正在排序数组。你就是没有意识到。”T在e之前,然后是s,然后是T。检查字符及其值。您的数组在创建时已被排序。

在Java中,如果您这样做:

if('T' < 't') {
   System.out.println("Yes");
} else {
   destroyTheWorld(); //We are safe
}
if('T'<'T'){
System.out.println(“是”);
}否则{
毁灭世界();//我们是安全的
}
它将打印“是”

'T'
'T'
小,详情见表

可能的解决方案是用Java编写自己的比较器。

,如果您这样做:

if('T' < 't') {
   System.out.println("Yes");
} else {
   destroyTheWorld(); //We are safe
}
if('T'<'T'){
System.out.println(“是”);
}否则{
毁灭世界();//我们是安全的
}
它将打印“是”

'T'
'T'
小,详情见表


可能的解决方案是编写自己的比较器。

您选择的输入已经排序

String test = "Test123"; // <-- this will output 1,2,3,T,e,s,t with your current code. 

String test=“Test123”// 您选择的输入已排序

String test = "Test123"; // <-- this will output 1,2,3,T,e,s,t with your current code. 

String test=“Test123”//打印出来的是什么?打印出来的是什么?