JAVA sort debug 显示的结果与执行出的结果不一致

class ArrayUtil {

public static void printArray(int[] data) {
for (int x = 0; x < data.length; x++) {
System.out.print(data[x] + '.');
}
System.out.println();

}

}

public class ArrayDemo {
public static void main(String args[]) {
int data[] = new int[]{18, 19, 100, 2, 3, 5, 10, 7, 6, 1};
java.util.Arrays.sort(data);
ArrayUtil.printArray(data);
}
}

debug 显示的是正确排序 但是执行出来的是这
图片说明
好烦 到底什么原因

把'.'的单引号改成双引号"."。单引号是char字符不强转,会当作int类型处理。而点的ASCII为46。

47 48 49这些是 1 2 3 的 ascii 码
System.out.print(data[x] + '.');
这里 '.' 换成双引号看看