java – 遍历对象数组列表
发布时间:2020-12-15 04:11:22 所属栏目:Java 来源:网络整理
导读:我正在使用本机sql使用以下代码进行查询 private T ListT executeNativeQuery(String queryString,MapString,Object param,ClassT clazz) { Query query = entityManager.createNativeQuery(queryString); if (param != null param.size() 0) { for (Map.Ent
我正在使用本机sql使用以下代码进行查询
private <T> List<T> executeNativeQuery(String queryString,Map<String,Object> param,Class<T> clazz) { Query query = entityManager.createNativeQuery(queryString); if (param != null && param.size() > 0) { for (Map.Entry<String,Object> entry : param.entrySet()) { query.setParameter(entry.getKey(),entry.getValue()); } } List<T> resultList = query.getResultList(); return resultList; } 并获得以下数据库结果. VendorName | IncidentID | IncidentStatus | IncidentDate ------------------------------------------------------- XYZ | 100 | Open | 02-JUN-2011 ABC | 101 | Closed | 03-JUN-2011 MNP | 102 | Open | 01-JUN-2011 LPQ | 103 | Open | 01-APR-2011 为了迭代这个结果,我正在使用以下方法 Iterator iter=resultList.iterator(); while (iter.hasNext()) { Object[] result= (Object[]) iter.next(); System.out.println("Vendor Name-->" +result[0]); } 有没有更好的方法来遍历列表? 解决方法
一个“更好的方法”(java 5 for-each)实际上将使用迭代器转换为您所显示的内容,但语法更好:
for (Object[] result : resultList) { // ... 另一种“更好的方法”依赖于您知道列表大小的事实,并且您可以在for循环中使用计数器: for (int i = 0; i < resultList.size(); i++) { Object[] result = resultList.get(i); // ... the rest ... 总而言之,有几种方法可以迭代列表,但可以说有“更好”的方法:这是一个用例问题(如果你正在使用它我也可以反击其他事情或者你是使用迭代器也从列表中删除一些元素)或仅仅是品味(低级别与语法糖). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |