java.lang.Object
java.util.AbstractMap.SimpleImmutableEntry<K,V>
- 类型参数:
-
K
- 键的类型 -
V
- 值的类型
- 所有已实现的接口:
-
Serializable
,Map.Entry<K,
V>
- 封装类:
-
AbstractMap<K,
V>
public static class AbstractMap.SimpleImmutableEntry<K,V> extends Object implements Map.Entry<K,V>, Serializable
一个维护键和值的不可修改的条目。此类不支持
setValue
方法。此类的实例既不与任何映射相关,也不与任何映射的条目集视图相关联。
- API 注释:
-
此类的实例不一定是不可变的,因为键和值可能是可变的。此特定类的实例是不可修改的,因为键和值引用不能更改。此类型的引用可能不是不可修改的,因为子类可能是可修改的或可能提供可修改性的外观。
此类可能在返回键-值映射的线程安全快照的方法中很方便。有关替代方案,请参阅
Map::entry
和Map.Entry::copyOf
方法。 - 自版本:
- 1.6
- 另请参阅:
-
Constructor Summary
ConstructorDescriptionSimpleImmutableEntry
(Map.Entry<? extends K, ? extends V> entry) 创建表示与指定条目相同映射的条目。SimpleImmutableEntry
(K key, V value) 创建表示从指定键到指定值的映射的条目。 -
Method Summary
-
Constructor Details
-
SimpleImmutableEntry
创建表示从指定键到指定值的映射的条目。- 参数:
-
key
- 此条目表示的键 -
value
- 此条目表示的值
-
SimpleImmutableEntry
创建表示与指定条目相同映射的条目。- 参数:
-
entry
- 要复制的条目
-
-
Method Details
-
getKey
返回与此条目对应的键。 -
getValue
返回与此条目对应的值。 -
setValue
用指定值替换与此条目对应的值(可选操作)。此实现简单地抛出UnsupportedOperationException
,因为此类实现了不可修改的映射条目。- 指定者:
-
setValue
在接口Map.Entry<K,
中V> - 实现要求:
-
此类中的实现始终抛出
UnsupportedOperationException
。 - 参数:
-
value
- 要存储在此条目中的新值 - 返回:
- (不返回)
- 抛出:
-
UnsupportedOperationException
- 总是
-
equals
比较指定对象与此条目是否相等。如果给定对象也是映射条目,并且两个条目表示相同的映射,则返回true
。更正式地,两个条目e1
和e2
表示相同的映射,如果(e1.getKey()==null ? e2.getKey()==null : e1.getKey().equals(e2.getKey())) && (e1.getValue()==null ? e2.getValue()==null : e1.getValue().equals(e2.getValue()))
这确保equals
方法在Map.Entry
接口的不同实现之间正常工作。 -
hashCode
public int hashCode()返回此映射条目的哈希码值。映射条目e
的哈希码定义为:(e.getKey()==null ? 0 : e.getKey().hashCode()) ^ (e.getValue()==null ? 0 : e.getValue().hashCode())
这确保e1.equals(e2)
意味着对于任何两个条目e1
和e2
,e1.hashCode()==e2.hashCode()
,这是Object.hashCode()
的一般契约要求。 -
toString
返回此映射条目的字符串表示形式。此实现返回此条目键的字符串表示形式,后跟等号字符("=
"),后跟此条目值的字符串表示形式。
-