2012-03-08 98 views
1

我有一个200个元素长的char数组,我在循环中加载了带有新字符的矢量,并且在每个循环中加载了 ,因此元素编号可能与前一个不同我可以清空阵列中不需要的位置吗? 注意:元素大小必须为200,我无法解决用new创建对象的新实例的问题。如何清空特定的char数组位置

感谢

回答

3

你的意思是这样的:

Arrays.fill(array, index, array.length, '\0'); 

?当然,这只会用U + 0000值覆盖阵列的其余部分......没有这样的东西,因为char[]元素是“空的”。将有总是是在阵列中的每个元素char; U + 0000是一个指示“不要将其视为真实数据”的方式。

+0

感谢,这正是我一直在寻找... – Ant4res 2012-03-08 14:28:04

1

如果你想删除字符,我会使用一个StringBuilder。这比使用Vector更高效。

char[] chars = new char[50]; 
Arrays.fill(chars, '-'); 

StringBuilder sb = new StringBuilder(); 
sb.append(chars); 
// remove characters 10 to 15. 
sb.delete(10, 15); 
// remove a character 
sb.deleteCharAt(24); 
// replace some characters 
sb.replace(30, 40, "Hello World"); 

System.out.println(sb); 

打印

------------------------------Hello World----