为什么这个输出是在java程序中来的?
我做字符串的构造as--为什么这个输出是在java程序中来的?
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);
}
}
输出图像我不明白它的意思....
您已经创建了由三个Unicode代码点的字符串, U+0005,U+0006和U+0008,我打赌你的输出显示正确(它在我的机器上)。
编辑您的控制台正在使用特定字体来呈现输出。显然,字体包含代码为5和6的字符的西装象形图。我认识到这些回到原来的IBM PC:http://www.ascii-codes.com/
意味着它会产生unicode值? – 2012-02-27 11:15:59
酷...我不知道这个(可能是因为我从来不敢触摸String类) – 2012-02-27 11:16:01
感谢您的宝贵答案.... – 2012-02-27 11:42:29
它们的数组应该包含Unicode codePoints。你知道5,6和8是什么意思吗? 它将Unicode字符与您在数组中传递的代码连接起来,从偏移量1开始,长度为3。所以,偏移量1是数组(5)的第二个元素。它需要3个元素:5,6和8.这些字符表示您在屏幕上看到的有趣外观图形
如何从中获得Int值? – 2012-02-27 11:16:55
是否要将5,6,8连接成一个字符串? – Eduardo 2012-02-27 11:17:56
我想确切知道这个String构造函数的工作原理是什么? – 2012-02-27 11:20:15
你想做什么? – claesv 2012-02-27 11:10:15
这段代码没有意义。你将一个整数数组传递给一个String对象,你期待什么,数字回来?构造函数API描述了发生了什么:http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#String(byte []) – seanhodges 2012-02-27 11:17:35