是否可以在java中将ArrayList转换为ArrayList
我的清单如下:是否可以在java中将ArrayList转换为ArrayList,java,long-integer,Java,Long Integer,我的清单如下: List<SelectItem> measurementList; 但是,它显示出类型不匹配。这是很明显的。如何将measurementList.get0中的值分配给长变量 谢谢 代码如下: public List<SelectItem> measurementList(Long coModAssetId) { // log.info("Start"); // log.debug("finding MeasurementSeneorTypeList
List<SelectItem> measurementList;
但是,它显示出类型不匹配。这是很明显的。如何将measurementList.get0中的值分配给长变量
谢谢
代码如下:
public List<SelectItem> measurementList(Long coModAssetId)
{
// log.info("Start");
// log.debug("finding MeasurementSeneorTypeList instance by example using dbMeasurementSeneorTypeList");
List<SelectItem> results;
try {
// Add SELECT with a nested select to get the 1st row
String queryString = "SELECT M.Measurement_Id, M.NAME" +
" FROM ems.COMPANY_MODULE_ASSET CMA, " +
" ems.Asset_Measurement Am," +
" ems.MEASUREMENT M" +
" WHERE CMA.Co_Mod_Asset_Id = ?" +
" And Cma.Asset_Id = Am.Asset_Id " +
" AND AM.MEASUREMENT_ID = M.MEASUREMENT_ID" +
" GROUP BY M.measurement_id, M.NAME" +
" ORDER BY M.name";
MeasurementSeneorTypeListWork work = new MeasurementSeneorTypeListWork();
work.coModAssetId = coModAssetId;
work.queryString = queryString;
getSession().doWork(work);
results = work.results;
} catch (RuntimeException re) {
// log.error("getMostRecentObservationId() failed", re);
throw re;
}
//log.info("End");
return results;
}
类定义
public class MeasurementSeneorTypeListWork implements Work {
List<SelectItem> results = new ArrayList<SelectItem>();
private String queryString;
private Long coModAssetId;
@Override
public void execute(Connection connection) throws SQLException {
PreparedStatement ps = connection.prepareStatement(queryString);
int index = 1;
ps.setLong(index++, coModAssetId);
ResultSet rs = ps.executeQuery();
while(rs.next())
{
//String userName = PropertyReader.getLabel(rs.getString(2));
Long id = rs.getLong(1);
SelectItem item = new SelectItem(id, null);
results.add(item);
}
rs.close();
ps.close();
}
}
}
如果您的SelectItem类型是javax.faces.model.SelectItem,那么您可以使用getValue方法
Long sd = (Long) measurementList.get(i).getValue();
注意:您正在使用双参数构造函数SelectItemObject值字符串标签为列表创建项目,但由于第二个参数始终为null,因此可以改用SelectItemObject值 如果您的SelectItem类型是javax.faces.model.SelectItem,那么您可以使用getValue方法
Long sd = (Long) measurementList.get(i).getValue();
注意:您正在使用双参数构造函数SelectItemObject值字符串标签为列表创建项目,但由于第二个参数始终为null,因此可以改用SelectItemObject值 您可以使用.longValue方法:
这将返回转换为long类型后此对象表示的数值。您可以使用.longValue方法:
这将返回转换为long类型后此对象表示的数值。您的SelectItem是否实现了一个返回long的方法?SelectItem是否具有toLong方法?什么是SelectItem?您指的是javax.faces.model.SelectItem吗?如果我们不知道你在说什么,我们就没有机会帮助你了:/Yes,有点,但通过导入会更容易。你的SelectItem实现了一个返回long的方法吗?SelectItem有一个toLong方法吗?什么是SelectItem?你指的是javax.faces.model.SelectItem吗?如果我们不知道你在说什么,我们就没有机会帮助你了:/是的,有点,但是有了导入会更容易。没问题,你仍然可以为以后的读者勾选答案;没问题,你仍然可以为以后的读者勾选答案;
(measurementList.get(i)).longValue()