Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Cоздание строк






Работа со строками

Работа со строками осуществляется двумя классами: string и stringBuffer.

В объектах класса string хранятся строки-константы неизменной длины и содержания. Длину строк, хранящихся в объектах класса stringBuffer, можно менять, вставляя и добавляя строки и символы, удаляя подстроки или сцепляя несколько строк в одну строку. Во многих случаях, когда надо изменить длину строки типа string, компилятор Java неявно преобразует ее к типу stringBuffer, меняет длину, потом преобразует обратно в тип string. Например, следующее действие

Cимволы в строках хранятся в кодировке Unicode, в которой каждый символ занимает два байта. Тип каждого символа char.

Класс String

Cоздание строк

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

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

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

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

• string (String str) — из одного объекта создается другой;

• string (StringBuffer str) — копия объекта класса BufferString;

• 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 возникает исключительная ситуация.

Конструкторы, использующие массив байтов byteArray, предназначены для создания Unicode-строки из массива байтовых ASCII-кодировок символов. Такая ситуация возникает при чтении ASCII-файлов, извлечении информации из базы данных или при передаче информации по сети.

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

copyValueOf(chart[] charArray)

и

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

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

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

String s1 = String.copyValueOf(с);

String s2 = String.copyValueOf(с, 3, 7);

получим в объекте s1 строку " Символьный ", а в объекте s2 — строку " вольный ".

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.