
- •Полезные классы
- •Цели занятия
- •Полезные классы
- •Класс Class
- •Класс Class
- •Классы-обертки примитивных
- •Классы-обертки примитивных
- •Классы-обертки примитивных
- •Классы-обертки примитивных
- •Классы-обертки примитивных
- •Наполнение классов-оберток
- •Наполнение классов-оберток
- •Наполнение классов-оберток
- •Класс Math
- •Наполнение класса Math
- •Работа со строками. Класс String
- •Наполнение класса String
- •Наполнение класса String
- •Наполнение класса String
- •Наполнение класса String
- •Класс StringBuffer
- •Наполнение класса StringBuffer
- •Наполнение класса StringBuffer
- •Наполнение класса StringBuffer
- •Пакет java.text
- •Пакет java.util
- •Классы для работы со временем
- •Классы для работы с
- •java.util.Random
- •Класс Arrays
- •Литература

Класс 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 |