доступ к значениям Object [] в Java - PullRequest
2 голосов
/ 13 июля 2010

Относительно этого изображения: текст ссылки

У меня есть объект rezultat, в котором есть геттеры и сеттеры.Я хочу установить для атрибута «cli» (rezultat.setCli(String .....)), и в качестве строкового параметра это должно быть m_objArray[0], поэтому «ADSL22675 ....» из этого изображения.Расширяя m_objArray, я должен установить 19 атрибутов для атрибутов объекта 'rezultat'.Но я не знаю, как получить к ним доступ.

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 индекс является выходным параметром типа complx.Пожалуйста помоги.Спасибо!

Ответы [ 2 ]

2 голосов
/ 13 июля 2010

Этот оператор возвратит строку или вызовет исключение clasCastException, если объект не является строкой:

(String)obj[0]

Если вы не уверены, что это строка, вы можете использовать

obj[0].toString()

ИЛИ

String.valueOf(obj[0])

Который будет обрабатывать нули более элегантно

1 голос
/ 13 июля 2010

STRUCT - класс оракула, который реализует интерфейс java.sql.Struct. Этот интерфейс предлагает метод getAttributes().

Стоит попробовать вызвать этот метод и надеяться на лучшее, что возвращаемый массив равен внутреннему m_objArray.

В коде Java:

rezultat.setCli(((java.sql.Struct)obj[0]).getAttributes()[0].toString()); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...