|
Как
выбрать символы из строки
Выбрать символ с индексом
ind
(индекс первого символа равен нулю) можно методом
charAt(int
ind)
Если индекс
ind
отрицателен или не меньше
чем длина строки, возникает исключительная ситуация. Например, после определения
char
ch = s.charAt(3);
переменная
ch
будет иметь значение
't'
Все символы строки в виде массива
символов можно получить методом
toCharArray()
,
возвращающим массив символов.
Если же надо включить в массив символов
dst
, начиная с индекса
ind
массива
подстроку от индекса
begin
включительно до индекса
end
исключительно, то используйте метод
getChars(int begin,
int end, char[] dst, int ind)
типа
void
.
В массив будет записано
end - begin
символов, которые займут элементы массива, начиная с индекса
ind
до индекса
in
d
+ (end - begin) - 1
.
Этот метод создает исключительную
ситуацию в следующих случаях:
-
ссылка
dst =
null
;
-
индекс
begin
отрицателен;
-
индекс
begin
больше индекса
end
;
-
индекс
end
больше длины строки;
-
индекс
ind
отрицателен;
-
ind + (end — begin)
> dst.length.
Например, после выполнения
char[] ch = ('К',
'о', 'р', 'о', 'л', 'ь', ' ', 'л', 'е', 'т', 'а'};
"Пароль легко найти".getChars(2,
8, ch, 2);
результат будет таков:
ch
= ('К', 'о', 'р', 'о', 'л', 'ь ', ' ', 'л', 'е', 'т', 'а'};
Если надо получить массив байтов,
содержащий все символы строки в байтовой кодировке ASCII, то используйте метод
getBytes()
.
Этот метод при переводе символов
из Unicode в ASCII использует локальную кодовую таблицу.
Если же надо получить массив байтов
не в локальной кодировке, а в какой-то другой, используйте метод
getBytes(String encoding)
.
Так сделано в листинге 5.1 при создании
объекта msg. Строка "\'Тоссия в\"" перекодировалась в массив
СР866-байтов для правильного вывода кириллицы в консольное окно
Command Prompt
операционной системы Windows 2000.
|