在Java中访问对象[]值

在Java中访问对象[]值,java,jdbc,Java,Jdbc,关于这幅图像: 我有一个对象“rezultat”,它有getter和setter。我想设置'cli'属性(rezultat.setCli(String…)),作为字符串参数,它应该是m_objArray[0],因此该图像中的'ADSL22675…'。展开m_objArray我需要为'rezultat'对象属性设置19个属性。但我不知道如何访问它们 Array o = ocs.getArray(1); Object[] obj = (Object[])o.getArray(); rezultat

关于这幅图像:

我有一个对象“rezultat”,它有getter和setter。我想设置'cli'属性(
rezultat.setCli(String…)
),作为字符串参数,它应该是
m_objArray[0]
,因此该图像中的'ADSL22675…'。展开
m_objArray
我需要为'rezultat'对象属性设置19个属性。但我不知道如何访问它们

Array o = ocs.getArray(1);
Object[] obj = (Object[])o.getArray();
rezultat = new ListOfMdfTab();
for (int i = 0; i < obj.length; i++)
{
rezultat.setCli ((String)obj[0].<what>?); //i need here that m_objArray[0].
}
Array o=ocs.getArray(1);
Object[]obj=(Object[])o.getArray();
rezultat=新的ListOfMfTab();
for(int i=0;i
“ocs”是OracleCallableStatement对象类型,因此我需要
Array o=ocs.getArray(1)因为1索引是一个complx类型的out参数。
请帮忙。

谢谢

如果对象不是字符串,此语句将返回字符串或抛出CLASCASTEException:

(String)obj[0]
如果您不确定它是否是可以使用的字符串

obj[0].toString()


STRUCT是一个oracle类,它实现了
java.sql.STRUCT
接口。此接口提供了一个
getAttributes()
方法

调用此方法并希望返回的数组与内部
m_objArray
相等,这是值得尝试的

在Java代码中:

rezultat.setCli(((java.sql.Struct)obj[0]).getAttributes()[0].toString()); 

从OP linked的图片来看,
obj[0]
是一个
结构(无论它是什么意思)。其中有一个
对象[]m_objArray
,它包含
字符串
。至少我是这样读的。我尝试使用obj[0].toString()时,它返回了oracle.sql.STRUCT。所以,类型。我需要m_objArray的值,该节点包含19个元素,我需要它们的值(参见该图)。是的,正确:从图片OP linked中,obj[0]是一个结构(无论这意味着什么)。其中有一个对象[]m_objArray,它包含字符串。至少我是这样读的。如何访问m_objArray的值?
rezultat.setCli(((java.sql.Struct)obj[0]).getAttributes()[0].toString());