-
- 所有已知实现类:
-
CompositeDataSupport
,GcInfo
public interface CompositeData
CompositeData
接口指定了表示 复合数据结构的特定类型的复杂 开放数据对象的行为。- 从以下版本开始:
- 1.5
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 boolean
containsKey(String key)
返回true
当且仅当此CompositeData
实例包含名称为key
的项目时。boolean
containsValue(Object value)
返回true
当且仅当此CompositeData
实例包含其值是一个项目value
。boolean
equals(Object obj)
将指定的 obj参数与此CompositeData
实例进行比较以获得相等性。Object
get(String key)
返回名称为key
的项目的值。Object[]
getAll(String[] keys)
返回其名称由被指定的项目的值的数组keys
,以相同的顺序为keys
。CompositeType
getCompositeType()
返回此 复合数据实例的 复合类型 。int
hashCode()
返回此CompositeData
实例的哈希码值。String
toString()
返回此CompositeData
实例的字符串表示形式。Collection<?>
values()
返回此CompositeData
实例中包含的项目值的不可修改的集合视图。
-
-
-
方法详细信息
-
getCompositeType
CompositeType getCompositeType()
返回此 复合数据实例的 复合类型 。- 结果
- 这个CompositeData的类型。
-
get
Object get(String key)
返回名称为key
的项目的值。- 参数
-
key
- 项目的名称。 - 结果
- 与该键相关联的值。
- 异常
-
IllegalArgumentException
- 如果key
是空字符串或空字符串。 -
InvalidKeyException
- 如果key
不是此CompositeData
实例的现有项目名称。
-
getAll
Object[] getAll(String[] keys)
返回其名称由被指定的项目的值的数组keys
,以相同的顺序为keys
。- 参数
-
keys
- 项目的名称。 - 结果
- 与键对应的值。
- 异常
-
IllegalArgumentException
-如果在元件keys
为空或空字符串。 -
InvalidKeyException
-如果一个元素keys
不是这个现有项目的名称CompositeData
实例。
-
containsKey
boolean containsKey(String key)
返回true
当且仅当此CompositeData
实例包含名称是项目key
。 如果key
是空字符串或空字符串,则此方法只返回false。- 参数
-
key
- 要测试的关键。 - 结果
-
如果这个
CompositeData
包含密钥,CompositeData
true。
-
containsValue
boolean containsValue(Object value)
返回true
当且仅当此CompositeData
实例包含其值是一个项目value
。- 参数
-
value
- 要测试的值。 - 结果
-
如果此
CompositeData
true。
-
values
Collection<?> values()
返回此CompositeData
实例中包含的项目值的不可修改的集合视图。 返回的集合的迭代器将以相应项目名称的升序字典顺序返回值。- 结果
- 价值。
-
equals
boolean equals(Object obj)
将指定的obj参数与此CompositeData
实例进行比较以获得相等性。如果且仅当以下所有语句均为真时,则返回
true
:- obj是非空,
- obj还实现了
CompositeData
接口, - 它们的复合类型是相等的
- 它们的内容,即(名称,值)对相等。 如果内容中包含的值是数组,那么数值比较就好像通过调用对象引用类型数组的
deepEquals
方法或对原始类型数组的适当重载Arrays.equals(e1,e2)
这确保了此
equals
方法正常工作对作为不同实现的obj参数CompositeData
接口,具有在所提到的限制equals
所述的方法java.util.Collection
接口。- 重写:
-
equals
在Object
- 参数
-
obj
- 要与此CompositeData
实例相等的对象进行比较。 - 结果
-
true
如果指定的对象等于此CompositeData
实例。 - 另请参见:
-
Object.hashCode()
,HashMap
-
hashCode
int hashCode()
返回此CompositeData
实例的哈希码值。CompositeData
实例的哈希码是equals
比较中使用的所有信息元素(即:其复合类型和所有项目值)的哈希码的总和。这确保
t1.equals(t2)
意味着t1.hashCode()==t2.hashCode()
对于任何两个CompositeData
实例t1
和t2
,根据方法Object.hashCode()
的一般合同的要求 。每个项目值的哈希码被添加到返回的哈希码。 如果一个项目值是一个数组,那么它的哈希码就像通过为对象引用类型的数组调用
deepHashCode
方法或者对原始类型数组的适当重载Arrays.hashCode(e)
获得。- 重写:
-
hashCode
在Object
- 结果
-
这个
CompositeData
实例的哈希码值 - 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
-