Module java.base
Package java.util.jar

Class Attributes

java.lang.Object
java.util.jar.Attributes
所有已实现的接口:
Cloneable, Map<Object,Object>

public class Attributes extends Object implements Map<Object,Object>, Cloneable
Attributes类将清单属性名称映射到关联的字符串值。有效的属性名称不区分大小写,限制为ASCII字符集中的[0-9a-zA-Z_-],且长度不超过70个字符。名称后必须有冒号和空格;组合长度不超过72个字符。属性值可以包含任何字符,在写入输出流时将进行UTF8编码。有关有效属性名称和值的更多信息,请参阅JAR文件规范

此映射及其视图具有可预测的迭代顺序,即键插入到映射中的顺序,与LinkedHashMap相同。

自:
1.2
外部规范
另请参阅:
  • Field Details

  • Constructor Details

    • Attributes

      public Attributes()
      使用默认大小构造一个新的空Attributes对象。
    • Attributes

      public Attributes(int size)
      使用指定的初始大小构造一个新的空Attributes对象。
      参数:
      size - 属性的初始数量
    • Attributes

      public Attributes(Attributes attr)
      使用指定Attributes中的相同属性名称-值映射构造一个新的Attributes对象。
      参数:
      attr - 指定的Attributes
  • Method Details

    • get

      public Object get(Object name)
      返回指定属性名称的值,如果未找到属性名称,则返回null。
      指定者:
      get 在接口 Map<Object,Object>
      参数:
      name - 属性名称
      返回:
      指定属性名称的值,如果未找到则返回null。
    • getValue

      public String getValue(String name)
      返回指定属性名称的值,指定为字符串,如果未找到属性,则返回null。属性名称不区分大小写。

      此方法定义如下:

            return (String)get(new Attributes.Name((String)name));
       
      参数:
      name - 属性名称作为字符串
      返回:
      指定属性名称的字符串值,如果未找到则返回null。
      抛出:
      IllegalArgumentException - 如果属性名称无效
    • getValue

      public String getValue(Attributes.Name name)
      返回指定Attributes.Name的值,如果未找到属性,则返回null。

      此方法定义如下:

           return (String)get(name);
       
      参数:
      name - Attributes.Name对象
      返回:
      指定Attribute.Name的字符串值,如果未找到则返回null。
    • put

      public Object put(Object name, Object value)
      将指定值与指定属性名称(键)关联在此Map中。如果Map先前包含属性名称的映射,则旧值将被替换。
      指定者:
      put 在接口 Map<Object,Object>
      参数:
      name - 属性名称
      value - 属性值
      返回:
      属性的先前值,如果没有则为null
      抛出:
      ClassCastException - 如果名称不是Attributes.Name或值不是String
    • putValue

      public String putValue(String name, String value)
      将指定值与指定属性名称作为String关联在此Map中。属性名称不区分大小写。如果Map先前包含属性名称的映射,则旧值将被替换。

      此方法定义如下:

            return (String)put(new Attributes.Name(name), value);
       
      参数:
      name - 属性名称作为字符串
      value - 属性值
      返回:
      属性的先前值,如果没有则为null
      抛出:
      IllegalArgumentException - 如果属性名称无效
    • remove

      public Object remove(Object name)
      从此Map中删除具有指定名称(键)的属性。返回先前的属性值,如果没有则为null。
      指定者:
      remove 在接口 Map<Object,Object>
      参数:
      name - 属性名称
      返回:
      属性的先前值,如果没有则为null
    • containsValue

      public boolean containsValue(Object value)
      如果此Map将一个或多个属性名称(键)映射到指定值,则返回true。
      指定者:
      containsValue 在接口 Map<Object,Object>
      参数:
      value - 属性值
      返回:
      如果此Map将一个或多个属性名称映射到指定值,则返回true
    • containsKey

      public boolean containsKey(Object name)
      如果此Map包含指定的属性名称(键),则返回true。
      指定者:
      containsKey 在接口 Map<Object,Object>
      参数:
      name - 属性名称
      返回:
      如果此Map包含指定的属性名称,则返回true
    • putAll

      public void putAll(Map<?,?> attr)
      从指定的Attributes复制所有属性名称-值映射到此Map中。重复的映射将被替换。
      指定者:
      putAll 在接口 Map<Object,Object>
      参数:
      attr - 要存储在此映射中的Attributes
      抛出:
      ClassCastException - 如果attr不是Attributes
    • clear

      public void clear()
      删除此Map中的所有属性。
      指定者:
      clear 在接口 Map<Object,Object>
    • size

      public int size()
      返回此Map中的属性数量。
      指定由:
      size 在接口 Map<Object,Object>
      返回:
      此映射中键-值映射的数量
    • isEmpty

      public boolean isEmpty()
      如果此Map不包含任何属性,则返回true。
      指定由:
      isEmpty 在接口 Map<Object,Object>
      返回:
      如果此映射不包含键-值映射,则返回true
    • keySet

      public Set<Object> keySet()
      返回此Map中包含的属性名称(键)的Set视图。
      指定由:
      keySet 在接口 Map<Object,Object>
      返回:
      包含在此映射中的键的Set视图
    • values

      public Collection<Object> values()
      返回此Map中包含的属性值的Collection视图。
      指定由:
      values 在接口 Map<Object,Object>
      返回:
      包含在此映射中的值的Collection视图
    • entrySet

      public Set<Map.Entry<Object,Object>> entrySet()
      返回此Map中包含的属性名称-值映射的Collection视图。
      指定由:
      entrySet 在接口 Map<Object,Object>
      返回:
      包含在此映射中的映射的Set视图
    • equals

      public boolean equals(Object o)
      将指定的对象与底层map进行比较以确定是否相等。 如果给定对象也是一个Map,并且两个映射表示相同的映射,则返回true。
      指定由:
      equals 在接口 Map<Object,Object>
      覆盖:
      equals 在类 Object
      参数:
      o - 要比较的对象
      返回:
      如果指定的对象等于此Map,则返回true
      参见:
    • hashCode

      public int hashCode()
      返回此Map的哈希码值。
      指定由:
      hashCode 在接口 Map<Object,Object>
      覆盖:
      hashCode 在类 Object
      返回:
      此对象的哈希码值。
      参见:
    • clone

      public Object clone()
      返回Attributes的副本,实现如下:
           public Object clone() { return new Attributes(this); }
       
      由于属性名称和值本身是不可变的,因此返回的Attributes可以安全地修改而不会影响原始对象。
      覆盖:
      clone 在类 Object
      返回:
      此实例的克隆。
      参见: