Класс 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 |
charAt |
Возвращает значение 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 |
Устанавливает позицию в указанное место текста и возвращает соответствующий символ. |
void |
setPartialReturn |
Флаг, указывающий, допустимы ли частичные возвраты. |
CharSequence |
subSequence |
Возвращает CharSequence, являющуюся подпоследовательностью этой последовательности. |
String |
toString() |
Преобразует сегмент в строку String. |
Методы, объявленные в классе Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Указывает, равен ли этот объект какому-либо другому объекту. |
protected void |
finalize() |
Устарело, подлежит удалению: этот элемент API может быть удалён в будущей версии. Финализация объявлена устаревшей и подлежит удалению в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
Методы, объявленные в интерфейсе CharSequence
chars, codePoints, getChars, isEmpty | Модификатор и тип | Метод | Описание |
|---|---|---|
default IntStream |
chars() |
Возвращает поток значений int, дополняя нулями значения char этой последовательности. |
default IntStream |
codePoints() |
Возвращает поток значений кодовых точек этой последовательности. |
default void |
getChars |
Копирует символы из этой последовательности в указанный массив назначения. |
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
- См. также:
last
public char last()
Устанавливает позицию в getEndIndex()-1 (getEndIndex(), если текст пуст) и возвращает символ в этой позиции.
- Определён в:
-
lastв интерфейсеCharacterIterator - Возвращает:
- последний символ текста или DONE, если текст пуст
- Начиная с:
- 1.3
- См. также:
current
public char current()
Возвращает символ в текущей позиции (определяемой методом getIndex()).
- Определён в:
-
currentв интерфейсеCharacterIterator - Возвращает:
- символ в текущей позиции или DONE, если текущая позиция находится за концом текста.
- Начиная с:
- 1.3
- См. также:
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 - Возвращает:
- копию
- См. также:
© 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.