Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Java / Haulmont_java_se_7_2.ppt
Скачиваний:
121
Добавлен:
16.03.2015
Размер:
749.57 Кб
Скачать

Класс StringBuffer

21 • Если бы класс String, представляющий объекты строк, не допускающих изменения, был единственным доступным средством, в процессе обработки строковых данных для хранения промежуточных результатов пришлось бы создавать новые объекты String

На самом деле компилятор действует более эффективно

В процессе вычисления промежуточных результатов он использует объект класса StringBuffer и создает объект класса String только когда это действительно необходимо

StringBuffer реализует методы модификации строки без порождения нового объекта

Реализует операции с элементами строки по отдельности

Используется по умолчанию при конкатенации строк

Для хранения строк использует буфер переменного объема

Класс StringBuffer во многом подобен классу String, он поддерживает ряд одноименных методов с теми же контрактами

Но StringBuffer не является производным от String и обратное утверждение также неверно

Эти классы совершенно независимы – они оба наследуют класс Object

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2013

Наполнение класса StringBuffer

22 Добавление фрагментов

append(...) – позволяет преобразовать значение, переданное в качестве параметра, в строку и присоединить результат в конец

insert(...) – позволяет преобразовать значение, переданное в качестве второго параметра, в строку и вставить результат в позицию, указанную в качестве первого параметра

Поиск вхождений

indexOf(String str) – возвращает значение первой позиции,

с которой начинается заданная строка str lastIndexOf(String str) – возвращает значение последней

позиции, с которой начинается заданная строка str

Состояние буфера

capacity() – возвращает значение текущей емкости буфера ensureCapacity(int minimum) – проверяет емкость буфера

и при необходимости увеличивает ее до значения minimum

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2013

Наполнение класса StringBuffer

23 Извлечение подстрок

charAt(int index) – возвращает значение типа char, отвечающее символу строки, который расположен на указанной позиции

getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) – копирует символы текущей строки StringBuffer в заданный массив dst. При этом символы строки из диапазона, заданного параметрами srcBegin и srcEnd (символ на позиции srcEnd не учитывается), присваиваются элементам массива, начиная с dst[dstBegin]

reverse() – перестраивает порядок следования символов строке StringBuffer на обратный

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2013

Наполнение класса StringBuffer

24 Модификация строки

delete(int start, int end) – удаляет сегмент строки с позиции start до позиции end (за исключением символа end)

deleteCharAt(int index) – удаляет символ на заданной позиции

replace(int start, int end, String str) – заменяет фрагмент строки, задаваемый позициями начала (start) и конца (end, этот символ не учитывается), содержимым параметра str. Буфер удлиняется или сокращается в зависимости от того, что длиннее – строка str или заменяемый диапазон символов setCharAt(int index, char ch) – позволяет заменить символ в указанной позиции строки

setLength(int newLength) – выполняет усечение или удлинение строки до указанной длины

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2013

Пакет java.text

25• Содержит классы, предназначенные для реализации преобразований в строки и обратно с учетом форматирования и локализации

Использование этих классов позволяет создавать приложения, не зависящие от особенностей локализации

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2013

Пакет java.util

26• Классы для работы со временем

Классы для работы с локализацией

Классы для работы с массивами

Классы и интерфейсы коллекций

Прочие вспомогательные классы и интерфейсы

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2013

Классы для работы со временем

27 Date

Отражает дату и время с точностью до миллисекунд. Не рекомендуется к использованию

Calendar и сопутствующие Содержит константы и методы для работы с датой и временем с учетом особенностей локализации

Timer

Позволяет создавать задания для более позднего запуска (с использованием

потоков инструкций)

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2013

Классы для работы с

локализацией

28 Locale

Содержит константы и методы для работы с языками и особенностями регионов

TimeZone

Содержит методы для работы с часовыми поясами

SimpleTimeZone

Реализует TimeZone для Григорианского календаря

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2013

java.util.Random

29 • Экземпляр класса является отдельным генератором псевдослучайных чисел (ГПСЧ)

Различные ГПСЧ позволяют формировать некоррелированные последовательности

«Основание» имеет размерность 48bit

Методы получения ПСЧ:

nextBoolean(), nextByte(), nextDouble(), nextFloat(), nextInt(), nextLong() – возвращает очередное псевдослучайное равномерно распределенное значение типа long, принадлежащее интервалу от Long.MIN_VALUE до Lpng.MAX_VALUE включительно

nextGaussian() – возвращает очередное псевдослучайное значение типа double, распределенное по закону Гаусса (нормальное распределение)

Метод настройки

setSeed(long seed) – изменяет исходное значение последовательности псевдослучайных чисел, генерируемых текущим объектом Random, на seed. Обращение к методу приводит к тому, что текущая последовательность сбрасывается и генератор начинает отсчет чисел с заданного значения seed

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2013

Класс Arrays

30• Класс Arrays предлагает ряд полезных статических методов, предназначенных для работы с массивами

sort() – сортирует массив

binarySearch() – осуществляет поиск заданного ключа в отсортированном массиве. Возвращает индекс найденного ключа либо отрицательное значение

подходящей позиции вероятной вставки ключа, если ключ не найден

equals() – возвращает true, если две ссылки на массивы, переданные в качестве параметров, указывают на один и тот же объект, обе равны null либо массивы обладают одинаковыми длиной и содержимым

fill() – присваивает всем элементам массива одно и тоже значение

asList() – представляет массив в виде объекта-списка

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2013