前言
- 如果属性具有注释特征,则将Annotation对象用作文本属性值的包装。
- 这些特征是:应用属性的文本范围对于范围的语义至关重要。
- 这意味着该属性不能应用于它所应用于的文本范围的子范围,并且,如果两个相邻的文本范围对此属性具有相同的值,则该属性仍无法应用于整个组合范围(具有该值) 。
- 如果基础文本发生更改,则该属性或其值通常不再适用。
- 一个例子是附加在句子上的语法信息:对于上一个句子,您可以说“一个例子”是主语,但是不能对“一个”,“例子”或“考试”说同样的话。
- 更改文本后,语法信息通常变得无效。
- 另一个例子是日语阅读信息(yomi)。
- 将属性值包装到Annotation对象中可确保即使属性值相等也不会合并相邻的文本运行,并向文本容器指示如果修改了基础文本则应丢弃该属性。
源码
package java.text;
public class Annotation {
/**
* 使用给定值构造注释记录,该值可以为null。
*/
public Annotation(Object value) {
this.value = value;
}
/**
* 返回属性的值,可以为null。
*/
public Object getValue() {
return value;
}
/**
* 返回此注释的字符串表示形式。
*/
public String toString() {
return getClass().getName() + "[value=" + value + "]";
}
private Object value;
};