Как очистить определенные позиции массива символов - PullRequest
1 голос
/ 08 марта 2012

У меня есть массив символов длиной 200 элементов, я загружаю вектор с новыми символами в цикле, и в каждом цикле номер элемента может отличаться от предыдущего, так как я могу очистить ненужную позицию массива? Примечание: размер элемента должен быть 200, и я не могу решить проблему создания нового экземпляра объекта с новым.

Спасибо

Ответы [ 2 ]

3 голосов
/ 08 марта 2012

Вы имеете в виду что-то вроде:

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

? Конечно, это просто перезапишет остальную часть массива значениями U + 0000 ... нет такой вещи, как элемент char[], являющийся "пустым". всегда будет char для каждого элемента в массиве; U + 0000 - это один способ указания "не рассматривайте это как реальные данные".

1 голос
/ 08 марта 2012

Если вы пытаетесь удалить символы, я бы использовал 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----
...