Java 以下字符串对象中的参数做什么?
在这段代码中,我认为输出应该是Java 以下字符串对象中的参数做什么?,java,Java,在这段代码中,我认为输出应该是CD,当数组从0变为n,第二和第三个位置应该是67和68,它们是 ASCII等价于CD 但是输出实际上是CDE。为什么会这样?来自文档: public class PgHS { public static void main(String[] args) { byte ascii[] = {65,66,67,68,69,70}; String s1 = new String(ascii,2,3); Syste
CD
,当数组从0
变为n
,第二和第三个位置应该是67
和68
,它们是
ASCII等价于CD
但是输出实际上是CDE。为什么会这样?来自文档:
public class PgHS {
public static void main(String[] args) {
byte ascii[] = {65,66,67,68,69,70};
String s1 = new String(ascii,2,3);
System.out.println(s1);
}
}
// output: CDE
通过使用平台的默认字符集对指定的字节子数组进行解码来构造新字符串
在您的例子中:它从ascii
输入创建新字符串,从ascii[2]
开始,字符串长度为3
字节
您的打印应该是
CDE
RTFM Daniel@泰哈斯·甘蓝:好的,明白了!谢谢你
String(byte[] bytes, int offset, int length)