Module  java.base
软件包  java.util.jar

Class Attributes

  • All Implemented Interfaces:
    CloneableMap<Object,Object>


    public class Attributes
    extends Object
    implements Map<Object,Object>, Cloneable
    属性类将Manifest属性名称映射到关联的字符串值。 有效的属性名称不区分大小写,限于set [0-9a-zA-Z_-]中的ASCII字符,长度不能超过70个字符。 属性值可以包含任何字符,并且在写入输出流时将被UTF8编码。 有关有效属性名称和值的更多信息,请参阅JAR File Specification

    该地图及其视图具有可预测的迭代顺序,即密钥插入到地图中的顺序,如LinkedHashMap所示

    从以下版本开始:
    1.2
    另请参见:
    Manifest
    • 字段详细信息

    • 构造方法详细信息

      • Attributes

        public Attributes​()
        构造一个具有默认大小的新的空的Attributes对象。
      • Attributes

        public Attributes​(int size)
        构造具有指定的初始大小的新的空的Attributes对象。
        参数
        size - 属性的初始数
      • Attributes

        public Attributes​(Attributes attr)
        构造具有与指定属性中相同的属性名称 - 值映射的新Attributes对象。
        参数
        attr - 指定的属性
    • 方法详细信息

      • get

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

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

        此方法定义为:

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

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

        此方法定义为:

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

        public Object put​(Object name,
                          Object value)
        将指定的值与此Map中的指定属性名称(键)相关联。 如果地图先前包含属性名称的映射,则替换旧值。
        Specified by:
        put在接口 Map<Object,Object>
        参数
        name - 属性名称
        value - 属性值
        结果
        属性的前一个值,如果没有,则返回null
        异常
        ClassCastException - 如果名称不是Attributes.Name或值不是String
      • putValue

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

        此方法定义为:

          return (String)put(new Attributes.Name(name), value); 
        参数
        name - 属性名称作为字符串
        value - 属性值
        结果
        属性的前一个值,如果没有,则返回null
        异常
        IllegalArgumentException - 属性名称是否无效
      • remove

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

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

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

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

        public void clear​()
        从此地图中删除所有属性。
        Specified by:
        clear在接口 Map<Object,Object>
      • size

        public int size​()
        返回此Map中的属性数。
        Specified by:
        size在接口 Map<Object,Object>
        结果
        该地图中键值映射的数量
      • isEmpty

        public boolean isEmpty​()
        如果此Map不包含属性,则返回true。
        Specified by:
        isEmpty在接口 Map<Object,Object>
        结果
        true如果该地图不包含键值映射
      • keySet

        public Set<Object> keySet​()
        返回此Map中包含的属性名称(键)的Set视图。
        Specified by:
        keySet接口 Map<Object,Object>
        结果
        该地图中包含的键的集合视图
      • values

        public Collection<Object> values​()
        返回此Map中包含的属性值的集合视图。
        Specified by:
        values在接口 Map<Object,Object>
        结果
        该地图中包含的值的集合视图
      • equals

        public boolean equals​(Object o)
        将指定的Attributes对象与此Map进行比较以获得相等性。 如果给定对象也是属性的实例,并且两个Attributes对象表示相同的映射,则返回true。
        Specified by:
        equals在接口 Map<Object,Object>
        重写:
        equals中的 Object
        参数
        o - 要比较的对象
        结果
        如果指定的Object等于此Map,则为true
        另请参见:
        Object.hashCode()HashMap
      • clone

        public Object clone​()
        返回属性的副本,实现如下:
          public Object clone() { return new Attributes(this); } 
        由于属性名称和值本身是不可变的,所以返回的属性可以安全地修改而不影响原始属性。
        重写:
        cloneObject
        结果
        这个实例的一个克隆。
        另请参见:
        Cloneable