-
- 所有已知实现类:
-
CompositeDataSupport
,GcInfo
public interface CompositeData
CompositeData
接口指定表示 复合数据结构的特定类型的复杂 开放数据对象的行为。- 从以下版本开始:
- 1.5
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 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
实例中包含的项值的不可修改的Collection视图。
-
-
-
方法详细信息
-
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
是null或空String,则此方法只返回false。- 参数
-
key
- 要测试的密钥。 - 结果
- 如果此
CompositeData
包含密钥,则CompositeData
true。
-
containsValue
boolean containsValue(Object value)
返回true
当且仅当此CompositeData
实例包含其值是一个项目value
。- 参数
-
value
- 要测试的值。 - 结果
- 如果此
CompositeData
包含值,则CompositeData
true。
-
values
Collection<?> values()
返回此CompositeData
实例中包含的项值的不可修改的Collection视图。 返回的集合的迭代器将以相应项目名称的升序词典顺序返回值。- 结果
- 价值。
-
equals
boolean equals(Object obj)
将指定的obj参数与此CompositeData
实例进行比较以获得相等性。当且仅当以下所有语句都为真时,返回
true
:- obj是非null,
- 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)
-
-