char[] array = {'h','e','l','l','o','h','i','e',' '};
System.out.println(array+"\t"+array.length);//FIX THIS
打印:
[C@15db9742 9
但是如果我将代码更改为:
char[] array = {'h','e','l','l','o','h','i','e',' '};
System.out.println(array);//FIX THIS
打印:
hellohie
为什么我不能将制表符和数字串联起来?因为以下代码运行良好:
String array1 = new String(array);
System.out.println(array1+'\t'+array1.length());
最佳答案
它有多个 println
方法,当您尝试 System.out.println(array)
时,它会调用 char
数组作为论点,这就是它打印得很好的原因。当您尝试调用不同的版本时,它不知道您希望它对该数组做什么,这就是它不能很好地打印的原因。 Tab 与此无关。
例如,您可以执行 System.out.println(Arrays.toString(array)+"\t"+whatever)
,或者像您一样将其转换为 String,或者很多其他解决方案。
关于java - 为什么代码在选项卡上表现不正常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39995243/