关于此图片:link text
我有一个对象'rezultat',它有吸气剂和二传手。我想设置'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].
}
'ocs'是OracleCallableStatament对象类型,因此我需要Array o = ocs.getArray(1);
,因为该1索引是out参数,它是complx类型。
请帮忙。
谢谢!
答案 0 :(得分:2)
如果Object不是字符串,则此语句将返回String或抛出clasCastException:
(String)obj[0]
如果你不确定它是否是String,你可以使用
obj[0].toString()
OR
String.valueOf(obj[0])
哪个会更优雅地处理空值
答案 1 :(得分:1)
STRUCT
是一个实现java.sql.Struct
接口的oracle类。此界面提供getAttributes()
方法。
值得一试这个方法并希望最好,返回的数组等于内部m_objArray
。
在Java代码中:
rezultat.setCli(((java.sql.Struct)obj[0]).getAttributes()[0].toString());