java.lang.Object
java.util.jar.Attributes
Attributes类将清单属性名称映射到关联的字符串值。有效的属性名称不区分大小写,限制为ASCII字符集中的[0-9a-zA-Z_-],且长度不超过70个字符。名称后必须有冒号和空格;组合长度不超过72个字符。属性值可以包含任何字符,在写入输出流时将进行UTF8编码。有关有效属性名称和值的更多信息,请参阅JAR文件规范。
此映射及其视图具有可预测的迭代顺序,即键插入到映射中的顺序,与LinkedHashMap
相同。
- 自:
- 1.2
- 外部规范
- 另请参阅:
-
Nested Class Summary
-
Field Summary
-
Constructor Summary
ConstructorDescription使用默认大小构造一个新的空Attributes对象。Attributes
(int size) 使用指定的初始大小构造一个新的空Attributes对象。Attributes
(Attributes attr) 使用指定Attributes中的相同属性名称-值映射构造一个新的Attributes对象。 -
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
从此Map中删除所有属性。clone()
返回Attributes的副本,实现如下:boolean
containsKey
(Object name) 如果此Map包含指定的属性名称(键),则返回true。boolean
containsValue
(Object value) 如果此Map将一个或多个属性名称(键)映射到指定值,则返回true。entrySet()
返回此Map中包含的属性名称-值映射的Collection视图。boolean
将指定对象与底层map进行比较以检查是否相等。返回指定属性名称的值,如果未找到属性名称,则返回null。返回指定属性名称的值,指定为字符串,如果未找到属性,则返回null。getValue
(Attributes.Name name) 返回指定Attributes.Name的值,如果未找到属性,则返回null。int
hashCode()
返回此Map的哈希码值。boolean
isEmpty()
如果此Map不包含属性,则返回true。keySet()
返回此Map中包含的属性名称(键)的Set视图。将指定值与指定属性名称(键)关联在此Map中。void
从指定的Attributes复制所有属性名称-值映射到此Map中。将指定值与指定为String的属性名称关联在此Map中。从此Map中删除具有指定名称(键)的属性。int
size()
返回此Map中的属性数量。values()
返回此Map中包含的属性值的Collection视图。Methods declared in class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods declared in interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
-
Field Details
-
map
属性名称-值映射。
-
-
Constructor Details
-
Attributes
public Attributes()使用默认大小构造一个新的空Attributes对象。 -
Attributes
public Attributes(int size) 使用指定的初始大小构造一个新的空Attributes对象。- 参数:
-
size
- 属性的初始数量
-
Attributes
使用指定Attributes中的相同属性名称-值映射构造一个新的Attributes对象。- 参数:
-
attr
- 指定的Attributes
-
-
Method Details
-
get
返回指定属性名称的值,如果未找到属性名称,则返回null。 -
getValue
返回指定属性名称的值,指定为字符串,如果未找到属性,则返回null。属性名称不区分大小写。此方法定义如下:
return (String)get(new Attributes.Name((String)name));
- 参数:
-
name
- 属性名称作为字符串 - 返回:
- 指定属性名称的字符串值,如果未找到则返回null。
- 抛出:
-
IllegalArgumentException
- 如果属性名称无效
-
getValue
返回指定Attributes.Name的值,如果未找到属性,则返回null。此方法定义如下:
return (String)get(name);
- 参数:
-
name
- Attributes.Name对象 - 返回:
- 指定Attribute.Name的字符串值,如果未找到则返回null。
-
put
将指定值与指定属性名称(键)关联在此Map中。如果Map先前包含属性名称的映射,则旧值将被替换。- 指定者:
-
put
在接口Map<Object,
Object> - 参数:
-
name
- 属性名称 -
value
- 属性值 - 返回:
- 属性的先前值,如果没有则为null
- 抛出:
-
ClassCastException
- 如果名称不是Attributes.Name或值不是String
-
putValue
将指定值与指定属性名称作为String关联在此Map中。属性名称不区分大小写。如果Map先前包含属性名称的映射,则旧值将被替换。此方法定义如下:
return (String)put(new Attributes.Name(name), value);
- 参数:
-
name
- 属性名称作为字符串 -
value
- 属性值 - 返回:
- 属性的先前值,如果没有则为null
- 抛出:
-
IllegalArgumentException
- 如果属性名称无效
-
remove
从此Map中删除具有指定名称(键)的属性。返回先前的属性值,如果没有则为null。 -
containsValue
如果此Map将一个或多个属性名称(键)映射到指定值,则返回true。- 指定者:
-
containsValue
在接口Map<Object,
Object> - 参数:
-
value
- 属性值 - 返回:
- 如果此Map将一个或多个属性名称映射到指定值,则返回true
-
containsKey
如果此Map包含指定的属性名称(键),则返回true。- 指定者:
-
containsKey
在接口Map<Object,
Object> - 参数:
-
name
- 属性名称 - 返回:
- 如果此Map包含指定的属性名称,则返回true
-
putAll
从指定的Attributes复制所有属性名称-值映射到此Map中。重复的映射将被替换。- 指定者:
-
putAll
在接口Map<Object,
Object> - 参数:
-
attr
- 要存储在此映射中的Attributes - 抛出:
-
ClassCastException
- 如果attr不是Attributes
-
clear
public void clear()删除此Map中的所有属性。 -
size
public int size()返回此Map中的属性数量。 -
isEmpty
public boolean isEmpty()如果此Map不包含任何属性,则返回true。 -
keySet
返回此Map中包含的属性名称(键)的Set视图。 -
values
返回此Map中包含的属性值的Collection视图。 -
entrySet
返回此Map中包含的属性名称-值映射的Collection视图。 -
equals
将指定的对象与底层map进行比较以确定是否相等。 如果给定对象也是一个Map,并且两个映射表示相同的映射,则返回true。 -
hashCode
public int hashCode()返回此Map的哈希码值。 -
clone
返回Attributes的副本,实现如下:public Object clone() { return new Attributes(this); }
由于属性名称和值本身是不可变的,因此返回的Attributes可以安全地修改而不会影响原始对象。
-