Module java.base
Package java.text

Interface AttributedCharacterIterator

所有超接口:
CharacterIterator, Cloneable

public interface AttributedCharacterIterator extends CharacterIterator
AttributedCharacterIterator 允许通过文本和相关属性信息进行迭代。

属性是由键标识的键/值对。在给定字符上,没有两个属性可以具有相同的键。

属性的值是不可变的,或者不能被客户端或存储器改变。它们总是通过引用传递,而不是克隆。

关于属性的一段是一个最大文本范围,其中:

  • 该属性在整个范围内未定义或为 null,或
  • 属性值被定义并且在整个范围内具有相同的非 null 值。

关于一组属性的一段是一个最大文本范围,其中对于每个成员属性都满足这个条件。

当获取没有明确指定属性的一段(即调用 getRunStart()getRunLimit()),如果这些文本段分别具有相同的属性(相同的属性/值对),则将其视为单独的一段,如果这些属性已分别赋予这些文本段。

返回的索引限制在迭代器的范围内。

返回的属性信息限制在包含当前字符的一段中。

属性键是 AttributedCharacterIterator.Attribute 及其子类的实例,例如 TextAttribute

自 JDK 版本:
1.2
参见:
  • Method Details

    • getRunStart

      int getRunStart()
      返回包含当前字符的所有属性的一段的第一个字符的索引。

      如果这些属性已分别赋予这些文本段,那么具有相同属性(相同的属性/值对)的任何连续文本段将被视为单独的一段。

      返回:
      一段的第一个字符的索引
    • getRunStart

      int getRunStart(AttributedCharacterIterator.Attribute attribute)
      返回包含当前字符的给定 attribute 的一段的第一个字符的索引。
      参数:
      attribute - 所需的属性。
      返回:
      一段的第一个字符的索引
    • getRunStart

      int getRunStart(Set<? extends AttributedCharacterIterator.Attribute> attributes)
      返回包含当前字符的给定 attributes 的一段的第一个字符的索引。
      参数:
      attributes - 一组所需的属性。
      返回:
      一段的第一个字符的索引
    • getRunLimit

      int getRunLimit()
      返回包含当前字符的所有属性的一段之后的第一个字符的索引。

      如果这些属性已分别赋予这些文本段,那么具有相同属性(相同的属性/值对)的任何连续文本段将被视为单独的一段。

      返回:
      一段之后的第一个字符的索引
    • getRunLimit

      int getRunLimit(AttributedCharacterIterator.Attribute attribute)
      返回包含当前字符的给定 attribute 的一段之后的第一个字符的索引。
      参数:
      attribute - 所需的属性
      返回:
      一段之后的第一个字符的索引
    • getRunLimit

      int getRunLimit(Set<? extends AttributedCharacterIterator.Attribute> attributes)
      返回包含当前字符的给定 attributes 的一段之后的第一个字符的索引。
      参数:
      attributes - 一组所需的属性
      返回:
      一段之后的第一个字符的索引
    • getAttributes

      返回当前字符上定义的属性的映射。
      返回:
      当前字符上定义的属性的映射
    • getAttribute

      Object getAttribute(AttributedCharacterIterator.Attribute attribute)
      返回当前字符的指定 attribute 的值。如果未定义 attribute,则返回 null
      参数:
      attribute - 所需的属性
      返回:
      指定 attribute 的值或 null
    • getAllAttributeKeys

      Set<AttributedCharacterIterator.Attribute> getAllAttributeKeys()
      返回迭代器文本范围上定义的所有属性的键。如果未定义任何属性,则集合为空。
      返回:
      所有属性的键