0

我的服务代码在这里

public HashMap<String, Object> syncEmployees(Long updatedAt, String userId) {
    HashMap<String, Object> outputMap = new LinkedHashMap<String, Object>();
    **List<String>** outputEmployee = employeeDao.getEmployeeSyncDetails(updatedAt);

        System.out.println("\n\n Size : "+outputEmployee.size()+"\nOutput : "+outputEmployee);

    outputMap.put("employee", outputEmployee);
    return outputMap;
}

作为返回类型的 Dao 代码是字符串List(String)的列表

**List<String>** getEmployeeSyncDetails(@Param("updatedAt") long updatedAt);

.XML 映射器和查询 where 方法返回xyzModel列表

<resultMap id="xyzmap" type="xyzModel" >
        <result property="userId" column="user_id" />
        <result property="employeeCode" column="employee_code" />
        <result property="designationId" column="designation_id" />

    </resultMap>


<select id="getxyzDetails" resultMap="xyzmap">
    SELECT   
             user_id, ua.employee_code, designation_id
    FROM users
    WHERE  updated_at &gt; #{updatedAt} 
    ORDER BY  updated_at ASC
</select>

输出就像 Size : 3 Output : [com.webapp.models. xyzModel @1567524c,com.webapp.models。xyzModel @7744c2cd,com.webapp.models。xyzModel @43515de7]

我的问题是它是如何工作的?xyzmodel如何在 String 列表中填充实际上我的问题是 XML 映射器返回 xyzModel 但是如果我编写任何其他模型,如 UserModel 或 String 或任何其他模型,它不会显示任何错误或以正确的输出完美执行。如果我们处理这个列表,那么只有他发送错误 java.lang.ClassCastException

4

1 回答 1

1

在运行时,没有泛型类型。

如果您自己编写代码getEmployeeSyncDetails,您的编译器会警告您。

在此处阅读有关 java 中的类型擦除:https ://docs.oracle.com/javase/tutorial/java/generics/erasure.html

于 2016-02-22T11:35:05.750 回答