Класс Segment
java.lang.Object
javax.swing.text.Segment
- Все реализуемые интерфейсы:
CharSequence, Cloneable, CharacterIterator
public class Segment extends Object implements Cloneable, CharacterIterator, CharSequence
Сегмент массива символов, представляющий фрагмент текста. Его следует считать неизменяемым, несмотря на то что массив доступен напрямую. Это обеспечивает быстрый доступ к фрагментам текста без накладных расходов на копирование символов. По сути, это незащищённый объект String.
Сегмент реализует интерфейс java.text.CharacterIterator, чтобы обеспечить поддержку интернационализации без копирования текста в строку.
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
char[] |
array |
Массив, содержащий нужный текст. |
int |
count |
Количество элементов массива, составляющих нужный текст. |
int |
offset |
Смещение в массиве, с которого начинается нужный текст. |
Поля, объявленные в интерфейсе CharacterIterator
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() |
Преобразует сегмент в строку. |
Методы, объявленные в классе Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Методы, объявленные в интерфейсе CharSequence
chars, codePoints, getChars, isEmpty
Подробное описание полей
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)
Флаг, указывающий, допустимы ли частичные результаты. Если флаг имеет значение true, реализация метода интерфейса Document.getText(position,length,Segment) должна возвращать максимально возможный объём текста без создания копии. По умолчанию флаг имеет значение false, поэтому Document.getText(position,length,Segment) сохраняет прежнее поведение при возврате результата: в зависимости от запроса текст может копироваться или не копироваться.
- Параметры:
-
p— допустимы ли частичные результаты. - Начиная с версии:
- 1.4
isPartialReturn
public boolean isPartialReturn()
Флаг, указывающий, допустимы ли частичные результаты.
- Возвращает:
- допустимы ли частичные результаты.
- Начиная с версии:
- 1.4
toString
public String toString()
Преобразует сегмент в строку.
- Указано в:
-
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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/text/Segment.html