gpt4 book ai didi

java - 谷歌应用程序引擎代码中的类转换异常

转载 作者:行者123 更新时间:2023-12-02 07:55:38 26 4
gpt4 key购买 nike

我正在尝试查询数据存储并将其转换为用户定义的对象类型。但是,我遇到了类转换错误。请查看代码

   import com.gwt.samples.shared.List;

public ArrayList<String> viewLists(String user_id) {
PersistenceManager pm = PMF.get().getPersistenceManager();
ArrayList<String> res;
String[] ret;
Query q=pm.newQuery(List.class);
q.setFilter("owner_id == useridparam");
q.declareParameters("String useridparam");

try
{
res=(ArrayList<List>)q.execute(user_id); //error occurs here i guess
}
finally
{
q.closeAll();
}
return res;
}

出现此问题的原因是 query.execute 返回一个 Object 并且无法将其转换为 ArrayList 类型。但是,我正在遵循 here 中的这个示例

请帮忙

最佳答案

我可以建议:

1.删除该行

import com.gwt.samples.shared.List;

2.代替

Query q=pm.newQuery(List.class);

res=(ArrayList<List>)q.execute(user_id); //error occurs here i guess

使用

Query q=pm.newQuery(com.gwt.samples.shared.List.class);

res=(ArrayList<java.util.List>)q.execute(user_id);

当你说“我猜这里发生错误”时,我想你可以通过检查相关的异常堆栈跟踪或日志条目来明确地找到答案。

此外,我刚刚看到您的数据成员 res数据类型为 ArrayList<String> ,而您的查询将返回(包含我上面的代码更改)java.util.List<com.gwt.samples.shared.List> .

您将需要更改查询或 res 的数据类型让事情顺利进行。

我有一个标准的查询方法。查询返回存储在java.util.List中。然后我就这样做

java.util.List liResult = [My query];
ArrayList alResult = new ArrayList(liResult);

除了我的方法之外,我还转换了我的 ArrayListArrayList<[Query data type]> .

有什么帮助吗?

关于java - 谷歌应用程序引擎代码中的类转换异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9691530/

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