Module  java.desktop
软件包  javax.swing.text

Class Segment

  • All Implemented Interfaces:
    CharSequenceCloneableCharacterIterator


    public class Segment
    extends Object
    implements Cloneable, CharacterIterator, CharSequence
    表示文本片段的字符数组的段。 即使可以直接访问阵列,也应该将其视为不可变的。 这样可以快速访问文本片段,而无需复制字符的开销。 这实际上是一个不受保护的字符串。

    Segment实现java.text.CharacterIterator接口,以支持使用i18n支持,而不将文本复制到字符串中。

    • Field Summary

      Fields  
      Modifier and Type Field 描述
      char[] array
      这是包含感兴趣的文本的数组。
      int count
      这是组成感兴趣文本的数组元素的数量。
      int offset
      这是所需文本开始的数组中的偏移量。
    • 构造方法摘要

      构造方法  
      Constructor 描述
      Segment​()
      创建一个新的细分。
      Segment​(char[] array, int offset, int count)
      创建一个引用现有数组的新段。
    • 方法摘要

      所有方法  接口方法  具体的方法 
      Modifier and Type 方法 描述
      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​()
      将迭代器的索引增加1,并返回新索引处的字符。
      char previous​()
      将迭代器的索引减1,并返回新索引处的字符。
      char setIndex​(int position)
      将位置设置为文本中的指定位置,并返回该字符。
      void setPartialReturn​(boolean p)
      标记表示部分退货有效。
      CharSequence subSequence​(int start, int end)
      返回一个 CharSequence ,这是这个序列的一个子序列。
      String toString​()
      将段转换为字符串。
    • 字段详细信息

      • 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
      • first

        public char first​()
        将位置设置为getBeginIndex(),并返回该位置的字符。
        Specified by:
        first接口 CharacterIterator
        结果
        文本中的第一个字符,如果文本为空,则为DONE
        从以下版本开始:
        1.3
        另请参见:
        getBeginIndex()
      • last

        public char last​()
        将位置设置为getEndIndex() - 1(如果文本为空,则为getEndIndex()),并返回该位置处的字符。
        Specified by:
        last在接口 CharacterIterator
        结果
        文本中的最后一个字符,如果文本为空,则为DONE
        从以下版本开始:
        1.3
        另请参见:
        getEndIndex()
      • current

        public char current​()
        获取当前位置的字符(由getIndex()返回)。
        Specified by:
        current在接口 CharacterIterator
        结果
        当前位置的字符,如果当前位置离开文本末尾,则为DONE。
        从以下版本开始:
        1.3
        另请参见:
        getIndex()
      • next

        public char next​()
        将迭代器的索引增加1,并返回新索引处的字符。 如果生成的索引大于或等于getEndIndex(),则当前索引将重置为getEndIndex(),并返回DONE值。
        Specified by:
        next在接口 CharacterIterator
        结果
        新位置的角色,如果新的位置在文本范围的结尾,则为DONE。
        从以下版本开始:
        1.3
      • previous

        public char previous​()
        将迭代器的索引减1,并返回新索引处的字符。 如果当前索引是getBeginIndex(),索引将保留在getBeginIndex()中,并返回DONE值。
        Specified by:
        previous接口 CharacterIterator
        结果
        当前位置等于getBeginIndex()时,新位置的角色为DONE。
        从以下版本开始:
        1.3
      • setIndex

        public char setIndex​(int position)
        将位置设置为文本中的指定位置,并返回该字符。
        Specified by:
        setIndex在接口 CharacterIterator
        参数
        position - 文本中的位置。 有效值的范围从getBeginIndex()到getEndIndex()。 如果提供了无效值,则会抛出IllegalArgumentException异常。
        结果
        指定位置的字符或DONE,如果指定的位置等于getEndIndex()
        从以下版本开始:
        1.3
      • getBeginIndex

        public int getBeginIndex​()
        返回文本的起始索引。
        Specified by:
        getBeginIndex在接口 CharacterIterator
        结果
        文本开始的索引。
        从以下版本开始:
        1.3
      • getEndIndex

        public int getEndIndex​()
        返回文本的结束索引。 该索引是文本结束后第一个字符的索引。
        Specified by:
        getEndIndex在接口 CharacterIterator
        结果
        文本中最后一个字符后的索引
        从以下版本开始:
        1.3
      • getIndex

        public int getIndex​()
        返回当前索引。
        Specified by:
        getIndex在接口 CharacterIterator
        结果
        当前指数。
        从以下版本开始:
        1.3
      • charAt

        public char charAt​(int index)
        返回指定索引处的char值。 索引范围从零到length() - 1 序列的第一个char值在索引为零,下一个索引为1,依此类推,与数组索引一样。

        如果索引指定的char值为surrogate ,则返回替代值。

        Specified by:
        charAt在接口 CharSequence
        参数
        index - 要返回的 char值的索引
        结果
        指定的价值为 char
        从以下版本开始:
        1.6
      • length

        public int length​()
        返回此字符序列的长度。 长度是序列中16位char的数量。
        Specified by:
        length在接口 CharSequence
        结果
        该序列中的数量为 char
        从以下版本开始:
        1.6
      • subSequence

        public CharSequence subSequence​(int start,
                                        int end)
        返回一个CharSequence ,这是这个序列的一个子序列。 该子序列与所述启动char指定索引处值和与所述结束char在索引值end - 1 返回序列的长度( char s)为end - start ,因此如果start == end返回一个空序列。
        Specified by:
        subSequence接口 CharSequence
        参数
        start - 包含起始索引
        end - 结束索引,排他
        结果
        指定的子序列
        从以下版本开始:
        1.6