小编cha*_*300的帖子

如何从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;}
Run Code Online (Sandbox Code Playgroud)

现在我想在控制器中获取这些数据,但我不知道如何从列表中获取单个结果.我试着这样做:

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

但我只获得对这个对象的引用(例如[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]);}
Run Code Online (Sandbox Code Playgroud)

但它也没有帮助我 - 这以编译错误结束.

有人能告诉我如何从这个列表中获取'id'(整数值)吗?我在我的'View'中使用MyFaces,我有这样的代码(houseControll是我的JSF Managed Bean的名称 - 控制器):

<t:dataList id="myDataList" value="#{houseControll.fullOffer}" var="element" rows="3" >
...
<t:outputText id="houseId" value="#{element[0]}"/>
...
</t:dataList>
Run Code Online (Sandbox Code Playgroud)

此代码正确显示'id'值 - 我有1,2,3,...值.如何在控制器中获得相同的结果?如何在控制器中打印数据?

java

8
推荐指数
2
解决办法
10万
查看次数

标签 统计

java ×1