Spec-Zone.ru › OpenJDK 27

Класс Segment

java.lang.Object
javax.swing.text.Segment
Все реализуемые интерфейсы:
CharSequence, Cloneable, CharacterIterator
public class Segment extends Object implements Cloneable, CharacterIterator, CharSequence
Сегмент массива символов, представляющий фрагмент текста. Несмотря на то, что массив доступен напрямую, сегмент следует считать неизменяемым. Это обеспечивает быстрый доступ к фрагментам текста без затрат на копирование символов. По сути, это незащищённый String.

Класс Segment реализует интерфейс java.text.CharacterIterator, чтобы поддерживать использование с функциями интернационализации без копирования текста в строку.

Краткое описание полей

Модификатор и тип Поле Описание
char[] array
Массив, содержащий интересующий текст.
int count
Количество элементов массива, составляющих интересующий текст.
int offset
Смещение в массиве, с которого начинается нужный текст.

Поля, объявленные в интерфейсе CharacterIterator

DONE
Модификатор и тип Поле Описание
static final char DONE
Константа, возвращаемая, когда итератор достиг конца или начала текста.

Краткое описание конструкторов

Конструктор Описание
Segment()
Создаёт новый сегмент.
Segment(char[] array, int offset, int count)
Создаёт новый сегмент, ссылающийся на существующий массив.

Краткое описание методов

Модификатор и тип Метод Описание
char charAt(int index)
Возвращает значение char по указанному индексу.
Object clone()
Создаёт поверхностную копию.
char current()
Возвращает символ в текущей позиции (определяемой методом getIndex()).
char first()
Устанавливает позицию в getBeginIndex() и возвращает символ в этой позиции.
int getBeginIndex()
Возвращает начальный индекс текста.
int getEndIndex()
Возвращает конечный индекс текста.
int getIndex()
Возвращает текущий индекс.
boolean isPartialReturn()
Флаг, указывающий, допустимы ли частичные возвраты.
char last()
Устанавливает позицию в getEndIndex()-1 (getEndIndex(), если текст пуст) и возвращает символ в этой позиции.
int length()
Возвращает длину этой символьной последовательности.
char next()
Увеличивает индекс итератора на единицу и возвращает символ по новому индексу.
char previous()
Уменьшает индекс итератора на единицу и возвращает символ по новому индексу.
char setIndex(int position)
Устанавливает позицию в указанное место текста и возвращает соответствующий символ.
void setPartialReturn(boolean p)
Флаг, указывающий, допустимы ли частичные возвраты.
CharSequence subSequence(int start, int end)
Возвращает CharSequence, являющуюся подпоследовательностью этой последовательности.
String toString()
Преобразует сегмент в строку String.

Методы, объявленные в классе Object

equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
boolean equals(Object obj)
Указывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, подлежит удалению: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и подлежит удалению в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

Методы, объявленные в интерфейсе CharSequence

chars, codePoints, getChars, isEmpty
Модификатор и тип Метод Описание
default IntStream chars()
Возвращает поток значений int, дополняя нулями значения char этой последовательности.
default IntStream codePoints()
Возвращает поток значений кодовых точек этой последовательности.
default void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
Копирует символы из этой последовательности в указанный массив назначения.
default boolean isEmpty()
Возвращает true, если эта символьная последовательность пуста.

Подробное описание полей

array

public char[] array
Массив, содержащий интересующий текст. Этот массив ни в коем случае нельзя изменять; он доступен только для повышения эффективности.

offset

public int offset
Смещение в массиве, с которого начинается нужный текст.

count

public int count
Количество элементов массива, составляющих интересующий текст.

Подробное описание конструкторов

Segment

public Segment()
Создаёт новый сегмент.

Segment

public Segment(char[] array, int offset, int count)
Создаёт новый сегмент, ссылающийся на существующий массив.
Параметры:
array — массив, на который нужно сослаться
offset — смещение в массиве
count — количество символов

Подробное описание методов

setPartialReturn

public void setPartialReturn(boolean p)
Флаг, указывающий, допустимы ли частичные возвраты. Если флаг установлен, реализация метода интерфейса Document.getText(position,length,Segment) должна возвращать максимально возможный объём текста без создания копии. По умолчанию флаг имеет значение false, поэтому метод Document.getText(position,length,Segment) будет вести себя так же, как и раньше: в зависимости от запроса текст может копироваться или не копироваться.
Параметры:
p — допустимы ли частичные возвраты.
Начиная с:
1.4

isPartialReturn

public boolean isPartialReturn()
Флаг, указывающий, допустимы ли частичные возвраты.
Возвращает:
допустимы ли частичные возвраты.
Начиная с:
1.4

toString

public String toString()
Преобразует сегмент в строку String.
Определён в:
toString в интерфейсе CharSequence
Переопределяет:
toString в классе Object
Возвращает:
строку

first

public char first()
Устанавливает позицию в getBeginIndex() и возвращает символ в этой позиции.
Определён в:
first в интерфейсе CharacterIterator
Возвращает:
первый символ текста или DONE, если текст пуст
Начиная с:
1.3
См. также:
  • getBeginIndex()

last

public char last()
Устанавливает позицию в getEndIndex()-1 (getEndIndex(), если текст пуст) и возвращает символ в этой позиции.
Определён в:
last в интерфейсе CharacterIterator
Возвращает:
последний символ текста или DONE, если текст пуст
Начиная с:
1.3
См. также:
  • getEndIndex()

current

public char current()
Возвращает символ в текущей позиции (определяемой методом getIndex()).
Определён в:
current в интерфейсе CharacterIterator
Возвращает:
символ в текущей позиции или DONE, если текущая позиция находится за концом текста.
Начиная с:
1.3
См. также:
  • getIndex()

next

public char next()
Увеличивает индекс итератора на единицу и возвращает символ по новому индексу. Если полученный индекс больше или равен getEndIndex(), текущий индекс сбрасывается в getEndIndex(), а возвращаемым значением становится DONE.
Определён в:
next в интерфейсе CharacterIterator
Возвращает:
символ в новой позиции или DONE, если новая позиция находится за концом диапазона текста.
Начиная с:
1.3

previous

public char previous()
Уменьшает индекс итератора на единицу и возвращает символ по новому индексу. Если текущий индекс равен getBeginIndex(), индекс остаётся равным getBeginIndex(), а возвращаемым значением становится DONE.
Определён в:
previous в интерфейсе CharacterIterator
Возвращает:
символ в новой позиции или DONE, если текущая позиция равна getBeginIndex().
Начиная с:
1.3

setIndex

public char setIndex(int position)
Устанавливает позицию в указанное место текста и возвращает соответствующий символ.
Определён в:
setIndex в интерфейсе CharacterIterator
Параметры:
position — позиция в тексте. Допустимые значения находятся в диапазоне от getBeginIndex() до getEndIndex(). Если указано недопустимое значение, выбрасывается IllegalArgumentException.
Возвращает:
символ в указанной позиции или DONE, если указанная позиция равна getEndIndex()
Начиная с:
1.3

getBeginIndex

public int getBeginIndex()
Возвращает начальный индекс текста.
Определён в:
getBeginIndex в интерфейсе CharacterIterator
Возвращает:
индекс, с которого начинается текст.
Начиная с:
1.3

getEndIndex

public int getEndIndex()
Возвращает конечный индекс текста. Этот индекс указывает на первый символ после конца текста.
Определён в:
getEndIndex в интерфейсе CharacterIterator
Возвращает:
индекс после последнего символа текста
Начиная с:
1.3

getIndex

public int getIndex()
Возвращает текущий индекс.
Определён в:
getIndex в интерфейсе CharacterIterator
Возвращает:
текущий индекс.
Начиная с:
1.3

charAt

public char charAt(int index)
Возвращает значение char по указанному индексу. Индекс находится в диапазоне от нуля до length() - 1. Первое значение char последовательности находится по индексу ноль, следующее — по индексу один и так далее, как при индексации массива.

Если значение char, указанное индексом, является суррогатом, возвращается значение суррогата.

Определён в:
charAt в интерфейсе CharSequence
Параметры:
index — индекс возвращаемого значения char
Возвращает:
указанное значение char
Начиная с:
1.6

length

public int length()
Возвращает длину этой символьной последовательности. Длина — это количество 16-разрядных char в последовательности.
Определён в:
length в интерфейсе CharSequence
Возвращает:
количество char в этой последовательности
Начиная с:
1.6

subSequence

public CharSequence subSequence(int start, int end)
Возвращает CharSequence, являющуюся подпоследовательностью этой последовательности. Подпоследовательность начинается со значения char по указанному индексу и заканчивается значением char по индексу end - 1. Длина возвращённой последовательности (в char) равна end - start, поэтому, если start == end, возвращается пустая последовательность.
Определён в:
subSequence в интерфейсе CharSequence
Параметры:
start — начальный индекс включительно
end — конечный индекс исключительно
Возвращает:
указанную подпоследовательность
Начиная с:
1.6

clone

public Object clone()
Создаёт поверхностную копию.
Определён в:
clone в интерфейсе CharacterIterator
Переопределяет:
clone в классе Object
Возвращает:
копию
См. также:
  • Cloneable

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры основных понятий, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API