当前位置: 首页 > 知识库问答 >
问题:

无法将问题对象强制转换为其他对象

东方淇
2023-03-14

我有一种方法,可以按照班级团队中的国家对数据库中的数据进行排序。Hibernate在列表中返回我的数据

我的错误日志:

There was an unexpected error (type=Internal Server Error, status=500).
class com.champions.league.model.Teams cannot be cast to class com.champions.league.model.Teams (com.champions.league.model.Teams is in unnamed module of loader 'app'; com.champions.league.model.Teams is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader @169e859a)
java.lang.ClassCastException: class com.champions.league.model.Teams cannot be cast to class com.champions.league.model.Teams (com.champions.league.model.Teams is in unnamed module of loader 'app'; com.champions.league.model.Teams is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader @169e859a)

我的冠军联赛课程:

@Controller
@RequestMapping("/teams")
public class ChampLeagueController {

@GetMapping
public String showDesignForm(Model model){
   List<Teams> teamsList = TeamsDao.findAll();
    Teams.Countries[] countries = Teams.Countries.values();
    for(Teams.Countries country: countries){
        model.addAttribute(country.toString().toLowerCase(), filterByCountry(teamsList, country));
    }
    model.addAttribute("ChampionsLeague", new ChampionsLeague());
    return "ChampionsLeague";
}

public ArrayList<Teams> filterByCountry(List<Teams> teamsList, Teams.Countries country){
    ArrayList<Teams> sortedList = new ArrayList<>();
    for (Teams teams : teamsList) {
        if (teams.getCountries() == country)
            sortedList.add(teams);
    }
    return sortedList;
}

我的班级:

@Entity
@Table(name = "teams")
public class Teams {
@Id
private int id;
private String name;
@Enumerated(EnumType.STRING)
private Countries countries;
public enum Countries{
    SPAIN, ENGLAND, GERMANY, ITALY, FRANCE, NETHERLANDS
}
public int getId() {
    return id;
}
public void setId(int id) {
    this.id = id;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public Countries getCountries() {
    return countries;
}
public void setCountries(Countries countries) {
    this.countries = countries;
}

}

共有1个答案

蔚桐
2023-03-14

我建议您手动删除已编译的类,并让所有源代码重新编译。我想我也遇到过一两次这样的问题。。。可能是罕见的编译器错误。

 类似资料:
  • 我在一个扩展的asynctask中得到了这个错误,但我确信Object[]是一个void[]。 这是我的自定义AsyncTask: 我是这样叫execute的:

  • 问题内容: 任何人都可以解决此问题: Windows 10笔记本电脑上的SQL Server Management Studio 2016 CTP3(13.0.900.73) 对象资源管理器>服务器>数据库>数据库 右键单击-属性 我没有显示“数据库属性”对话框,而是显示了以下弹出窗口: 标题:Microsoft SQL Server Management Studio 无法显示请求的对话框。 附

  • 对API控制器的远程调用(通过RestTemboard)(从一侧返回已知对象的List([]),从远程侧返回未知类型的对象)返回

  • 我有JSON文件看起来像 所以这个键是一个字符串“SUBS_ID”,这个值是一个名为Feature细节的模型,它包含属性“特性设置名称、特性名称、...”。所以我用这样google.json库从JSON文件中读取, 然后我试图循环这个HashMap获取值,并将其转换为我的Feature细节模型, 这是我的FeatureDetails模型, 但我得到了一个例外"com.google.gson.int

  • 我在使用getObject将JSON响应转换为对象时遇到问题。JSON响应如下所示: { "data": {"id":2," name":"fuchsia rose "," year":2001," color":"#C74375 "," pantone_value":"17-2031"} } 我正在使用restAssured 2.9.0,并尝试这样做: 我收到以下错误:

  • 我正在运行一个第三方应用程序,每当在数据库中插入新记录时,它就会调用我的类。我的类名在这个第三方程序正在使用的属性文件中。所以这个程序使用反射调用我的类。 我的类需要访问名为titleService的SpringComponent。我可以马上把豆子拿走。 这很好,但我必须使用反射来调用我想要的方法,因为它是一个对象,而不是一个具体的类。 我试图将其转换为TitleService对象,但我得到了错误