Учебное пособие: Наследование и классы-коллекции

Перед работой со строкой ее следует создать. Это можно сделать разными способами.

Самый простой способ создать строку — это организовать ссылку типа String на строку-константу:

String si = "Это строка.";

Если константа длинная, можно записать ее в нескольких строках текстового редактора, связывая их операцией сцепления:

String s2 = "Это длинная строка, " +

"записанная в двух строках исходного текста";

Не забывайте разницу между пустой строкой String s = "", не содержащей ни одного символа, и пустой ссылкой String s = null, не указывающей ни на какую строку и не являющейся объектом.

Самый правильный способ создать объект с точки зрения ООП — это вызвать его конструктор в операции new. Класс String предоставляет девять конструкторов:

· String() — создается объект с пустой строкой;

· String(String str) — из одного объекта создается другой, поэтому этот конструктор используется редко;

· String(StringBuffer str) — преобразованная копия объекта класса StringBuffer;

· String(byte[] byteArray) — объект создается из массива байтов byteArray;

· String(char [] charArray) — объект создается из массива charArray символов Unicode;

· String(byte [] byteArray, int offset, int count) — объект создается из части массива байтов byteArray, начинающейся с индекса offset и содержащей count байтов;

· String(char [] charArray, int offset, int count) — то же, но массив состоит из символов Unicode;

· String(byte[] byteArray, String encoding) — символы, записанные в массиве байтов, задаются в Unicode-строке, с учетом кодировки encoding;

· String(byte[] byteArray, int offset, int count, String encoding) — то же самое, но только для части массива.

При неправильном задании индексов offset, count или кодировки encoding возникает исключительная ситуация.

У кириллицы есть, по меньшей мере, четыре кодировки:

· В MS-DOS применяется кодировка СР866.

· В UNIX обычно применяется кодировка KOI8-R.

· На компьютерах Apple Macintosh используется кодировка MacCyrillic.

· Есть еще и международная кодировка кириллицы ISO8859-5;

Если исходный кириллический ASCII-текст был в одной из этих кодировок, а местная кодировка СР1251, то Unicode-символы строки Java не будут соответствовать кириллице.

В этих случаях используются последние два конструктора, в которых параметром encoding указывается, какую кодовую таблицу использовать конструктору при создании строки.

Еще один способ создать строку — это использовать два статических метода

copyValueOf(char[] charArray) и copyValueOf(char[] charArray, int offset, int length).

Они создают строку по заданному массиву символов и возвращают ее в качестве результата своей работы. Например, после выполнения следующего фрагмента программы

char[] с = ('С', 'и', 'м', 'в', 'о1 , 'л', 'ь', 'н', 'ы', 'й'};

К-во Просмотров: 536
Бесплатно скачать Учебное пособие: Наследование и классы-коллекции