我将String的构造函数设为 -
class TestString {
public static void main(String args[]) {
int arr[]={1,5,6,8,9};
String str3 = new String(arr,1,3);//public java.lang.String(int[], int, int);
System.out.println(str3);
}
}
输出在图像中我无法理解其含义....
答案 0 :(得分:10)
您创建了一个由三个Unicode代码点U+0005,U+0006和U+0008组成的字符串,我打赌您的输出正好显示(它在我的机器上)
编辑您的控制台正在使用特定字体来呈现输出。显然,该字体包含代码为5和6的字符的套装象形图。我认为它们一直追溯到原始的IBM PC:http://www.ascii-codes.com/
答案 1 :(得分:2)
您使用字节数组构造函数创建了一个String。字节数组必须包含Unicode-points。有关unicode点和代表值的更多信息,请参阅ascii table。
答案 2 :(得分:1)
它们的数组应该包含Unicode codePoints。你知道5,6和8是什么意思吗? 它将Unicode字符与您在数组中传递的代码连接起来,从偏移量1开始,长度为3。因此,偏移1是数组(5)的第二个元素。它需要3个元素:5,6和8.这些字符代表你在屏幕上看到的有趣的图形