我发现这些奇怪的东西是当String
java中的长度超过一个值时,它会显示为奇怪。
有我的测试代码
public static void main(String[] args) {
int length = 4096;
char[] chars = new char[length];
for (char c : chars) {
c = 'c';
}
String str = new String(chars);
System.out.println(str.length());
System.out.println(str);
}
当我在我的计算机上运行上面的代码时,我从控制台得到 4096 个空格字符输出。
然后我将长度变量更改为 4095,这次输出是正确的,4095 个c
字符。
但在另一台计算机上,除非长度变量小于 2900,否则输出不正确。
我只是不知道为什么?
编辑
我想我知道发生了什么,我尝试在命令窗口中再次运行它,即使长度值足够大,它的打印也是正确的。
所以这似乎是关于 eclipse 控制台的一些限制。
但我检查了我的 Eclipse 控制台缓冲区大小,它是 800000