2015-06-26 3 views
-1

У меня есть таблица product(id, name, cost) и запросКак получить доступ к данным, хранящимся в java.lang.object?

Select id, name from product where name='TV' 

который возвращает две строки.
Результат этого запроса сохраняется в списке java.lang.object (список содержит 2 объекта, содержащих нужные мне данные).

Как я могу получить доступ к product.name и product.id?

List <Object> result = catalogServiceLocal.customQueryProd("s4"); //This is the query I am calling to execute SQL code. 

    System.out.println("Size of List "+result.size()); 
    System.out.println("List " + result.toString()); 

И результат:

6:39:42,877 INFO [stdout] (MSC service thread 1-7) Size of List 2 
16:39:42,878 INFO [stdout] (MSC service thread 1-7) List [[Ljava.lang.Object;@661b6318, [Ljava.lang.Object;@1006f107] 
+0

Это может помочь, если вы отредактируете свой вопрос, чтобы добавить код, который вы используете, чтобы мы могли видеть, как вы закончите с java.lang.object. – Nanhydrin

+0

Объект является суперклассом каждого отдельного класса на Java, поэтому это не говорит нам о многом. И есть много способов прочитать таблицы SQL в Java. Нам потребуется дополнительная информация (то есть код, который вы используете), прежде чем мы сможем ответить на это. – Dukeling

+0

@Dukeling Спасибо за ваше время –

ответ

0

Я думаю, что следующий должен сделать:

for (Object record : result) { 
    Object[] fields = (Object[]) record; 
    String id = (String) fields[0]; 
    String name = (String) fields[1]; 
    System.out.printf("id: %s, name: %s%n", id, name); 
} 

ToString показывает, что результатом является список из двух массивов объектов. Две записи, очевидно. Каждый массив объектов может быть полем id + name, возможно, типа String.

Типы в java используют короткую руку: [ для массива.

+0

Это сработало! Большое вам спасибо @ Joop! –

Смежные вопросы