You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java类型转换异常:如何遍历EmployeeLocation对象获取id

问题解决方法

错误原因

你把列表的泛型声明错了:List<String> locationList 应该是 List<EmployeeLocation>。getEmployeeLocationByQuery 方法实际返回的是EmployeeLocation对象的列表,不是字符串列表。打印列表时能看到对象的toString输出,是因为List的toString会调用每个元素的toString,但循环里强行把EmployeeLocation转成String就会触发ClassCastException。

修正后的代码

// 把泛型改成EmployeeLocation,匹配方法实际返回的类型
List<EmployeeLocation> locationList = locmgr.getEmployeeLocationByQuery("name LIKE'"+searchName+"%'");
System.out.println("print location");
System.out.println(locationList);

// 循环变量用EmployeeLocation类型,直接操作对象
for (EmployeeLocation location : locationList) {
    System.out.println("Inside Loop");
    // 调用getId()方法获取目标id
    System.out.println("员工位置ID: " + location.getId());
    // 需要其他属性的话,直接用对应的getter方法,比如获取name
    // System.out.println("名称: " + location.getName());
}

关键改动点

  • 修正列表泛型:从List<String>改为List<EmployeeLocation>,让变量类型和方法返回值类型一致
  • 循环变量类型改为EmployeeLocation,这样就能直接调用对象的getId()方法获取你需要的ID值

内容的提问来源于stack exchange,提问作者Tan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 21:25:57