gpt4 book ai didi

java - Spring MVC 类无法转换为对象

转载 作者:行者123 更新时间:2023-12-01 18:07:05 26 4
gpt4 key购买 nike

我正在创建一个 Spring 项目。这是代码。

public ModelAndView SController(ModelMap model)
{
P p = new P();
List<Object[]> myList = (List<Object[]>)this.myservice.getList("abcd");

for (Object[] lst : myList)
p.setName(lst[0].toString());

}

public List<Object[]> getList(String name)
{
return this.sessionFactory.getCurrentSession().createQuery("FROM P WHERE c_name LIKE ")
.setString(0, "%" + name + "%").list();
}

我在这一行收到错误

for (Object[] lst : myList)

错误

request processing failed nested exception is java.lang.classcastexception: com.site.MyClass cannot be cast to [Ljava.lang.Object;

为什么会出现这个错误?

编辑:

调试器快照 Snapshot

最佳答案

您的问题中提供查询后修改答案如下:

public ModelAndView SController(ModelMap model)
{
P p = new P();
List<P> myList = (List<P>) this.myservice.getList("abcd");

for (P lst : myList)
p.setName(lst.getName());

}

在这里我们可以对列表进行类型转换以获得更通用的列表类型。它可能会发出警告,该警告可以被抑制,因为我们知道它总是返回 P 对象的列表。

public List getList(String name)
{
return this.sessionFactory.getCurrentSession().createQuery("FROM P WHERE c_name LIKE ")
.setString(0, "%" + name + "%").list();
}

此 getList 方法将返回 P 对象的列表,其中 c_name 就像您输入的名称

关于java - Spring MVC 类无法转换为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35551908/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com