Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Cоздание строкСтр 1 из 2Следующая ⇒
Работа со строками Работа со строками осуществляется двумя классами: 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 — строку " вольный ".
|