Module  java.base
软件包  java.text

Class AttributedString



  • public class AttributedString
    extends Object
    AttributedString保存文本和相关属性信息。 在某些情况下,文本读取器想要通过AttributedCharacterIterator接口访问属性文本,可以将其用作实际的数据存储。

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

    属性的值是不可变的,不能被客户机或存储设备突变。 它们总是通过引用传递,而不是被克隆。

    从以下版本开始:
    1.2
    另请参见:
    AttributedCharacterIteratorAnnotation
    • 构造方法详细信息

      • AttributedString

        public AttributedString​(String text)
        使用给定的文本构造一个AttributedString实例。
        参数
        text - 此归因字符串的文本。
        异常
        NullPointerException - 如果 text为空。
      • AttributedString

        public AttributedString​(String text,
                                Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
        使用给定的文本和属性构造一个AttributedString实例。
        参数
        text - 此归因字符串的文本。
        attributes - 适用于整个字符串的属性。
        异常
        NullPointerException - 如果 textattributes为空。
        IllegalArgumentException - 如果文本长度为0,并且attributes参数不是空的Map(属性不能应用于0长度范围)。
      • AttributedString

        public AttributedString​(AttributedCharacterIterator text)
        使用AttributedCharacterIterator表示的给定归因文本构造一个AttributedString实例。
        参数
        text - 此归因字符串的文本。
        异常
        NullPointerException - 如果 text为空。
      • AttributedString

        public AttributedString​(AttributedCharacterIterator text,
                                int beginIndex,
                                int endIndex)
        使用AttributedCharacterIterator表示的给定归因文本的子范围构造一个AttributedString实例。 如果给定范围产生一个空文本,则所有属性将被丢弃。 请注意,由原始属性范围的子范围丢弃由注释对象包装的任何属性。
        参数
        text - 此归因字符串的文本。
        beginIndex - 范围的第一个字符的索引。
        endIndex - 范围的最后一个字符后面的字符的索引。
        异常
        NullPointerException - 如果 text为空。
        IllegalArgumentException - 如果由beginIndex和endIndex给出的子范围超出了文本范围。
        另请参见:
        Annotation
      • AttributedString

        public AttributedString​(AttributedCharacterIterator text,
                                int beginIndex,
                                int endIndex,
                                AttributedCharacterIterator.Attribute[] attributes)
        使用AttributedCharacterIterator表示的给定归因文本的子范围构造一个AttributedString实例。 只有与给定属性相匹配的属性将被并入到实例中。 如果给定范围产生一个空文本,则所有属性将被丢弃。 请注意,由原始属性范围的子范围丢弃由注释对象包装的任何属性。
        参数
        text - 此归因字符串的文本。
        beginIndex - 范围的第一个字符的索引。
        endIndex - 范围的最后一个字符后面的字符的索引。
        attributes - 指定要从文本中提取的属性。 如果指定为null,将使用所有可用的属性。
        异常
        NullPointerException - 如果 text为空。
        IllegalArgumentException - 如果由beginIndex和endIndex给出的子范围超出了文本范围。
        另请参见:
        Annotation
    • 方法详细信息

      • addAttribute

        public void addAttribute​(AttributedCharacterIterator.Attribute attribute,
                                 Object value,
                                 int beginIndex,
                                 int endIndex)
        将一个属性添加到字符串的子范围。
        参数
        attribute - 属性键
        value - 属性的值。 可能为null。
        beginIndex - 范围的第一个字符的索引。
        endIndex - 范围的最后一个字符后面的字符的索引。
        异常
        NullPointerException - 如果 attribute为空。
        IllegalArgumentException - 如果beginIndex小于0,则endIndex大于字符串的长度,或者beginIndex和endIndex一起不定义字符串的非空子列。
      • addAttributes

        public void addAttributes​(Map<? extends AttributedCharacterIterator.Attribute,?> attributes,
                                  int beginIndex,
                                  int endIndex)
        将一组属性添加到字符串的子范围。
        参数
        attributes - 要添加到字符串的属性。
        beginIndex - 范围的第一个字符的索引。
        endIndex - 范围的最后一个字符后面的字符的索引。
        异常
        NullPointerException - 如果 attributes为空。
        IllegalArgumentException - 如果beginIndex小于0,则endIndex大于字符串的长度,或者beginIndex和endIndex一起不定义字符串的非空子范围,并且attributes参数不是空的Map。
      • getIterator

        public AttributedCharacterIterator getIterator​()
        创建一个AttributedCharacterIterator实例,该实例提供对该字符串的整个内容的访问。
        结果
        提供对文本及其属性的访问的迭代器。
      • getIterator

        public AttributedCharacterIterator getIterator​(AttributedCharacterIterator.Attribute[] attributes)
        创建一个AttributedCharacterIterator实例,该实例提供对此字符串的选定内容的访问。 关于属性中没有列出的属性的信息,实现者可能不需要通过迭代器访问。 如果列表为空,则所有可用属性信息都应该可访问。
        参数
        attributes - 客户端感兴趣的属性列表
        结果
        提供对整个文本及其所选属性的访问的迭代器
      • getIterator

        public AttributedCharacterIterator getIterator​(AttributedCharacterIterator.Attribute[] attributes,
                                                       int beginIndex,
                                                       int endIndex)
        创建一个AttributedCharacterIterator实例,该实例提供对此字符串的选定内容的访问。 关于属性中没有列出的属性的信息,实现者可能不需要通过迭代器访问。 如果列表为空,则所有可用属性信息都应该可访问。
        参数
        attributes - 客户端感兴趣的属性列表
        beginIndex - 第一个字符的索引
        endIndex - 最后一个字符后面的字符的索引
        结果
        提供对文本及其属性的访问的迭代器
        异常
        IllegalArgumentException - 如果beginIndex小于0,则endIndex大于字符串的长度,或beginIndex大于endIndex。