访问Java中的Object []值

时间:2010-07-13 13:07:38

标签: java jdbc

关于此图片: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类型。 请帮忙。 谢谢!

2 个答案:

答案 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());