是否可以在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()