Как получить данные из List < Object> (Java)?

Я новичок в Java, и у меня проблема с отображением данных из списка объектов. У меня есть простой метод, который должен собирать данные из нескольких таблиц и возвращать их моему контроллеру:

public List<Object> getHouseInfo(){
Query q = em.createNativeQuery("SELECT houses.id, addresses.country, addresses.region, house_details.rooms, house_details.square FROM houses, addresses, house_details");
List<Object> myList = q.getResultList(); 
return myList;}

Теперь я хочу получить эти данные в контроллере, но я не знаю, как получить отдельные результаты из списка. Я пробовал сделать что-то вроде этого:

List<Object> list = getHouseInfo();
for (int i=0; i<list.size; i++){
System.out.println("Element "+i+list.get(0));}

, но получаю только ссылки на эти объекты (например [Ljava.lang.Object; @ 167a47b). Я тоже пробовал использовать Iterator, но результат тот же. Я пробовал использовать такой код:

List<Object> list = getHouseInfo();
for (int i=0; i<list.size; i++){
System.out.println("Element "+i+list.get(0)[0]);}

, но он мне тоже не помогает - это заканчивается ошибкой компиляции.

Может кто-нибудь сказать мне, как получить 'id' (целочисленное значение) из этого списка? Я использую MyFaces в своем 'View', где у меня есть такой код (houseControll - это имя моего JSF Managed Bean - контроллера):

<t:dataList id="myDataList" value="#{houseControll.fullOffer}" var="element" rows="3" >
...
<t:outputText id="houseId" value="#{element[0]}"/>
...
</t:dataList>

этот код правильно показывает значение 'id' - у меня 1,2 , 3, ... значения. Как я могу получить такой же результат на своем контроллере? Как распечатать данные в контроллере?

8
задан Benjamin 11 November 2013 в 23:47
поделиться