当我想使用服务器查询和离线SQLite请求的结果时,我有一个奇怪的错误消息。
Android Studio 中的错误消息:
Incompatible types:
Required: java.util.Array.list
Found: java.util.List
ArrayList 声明:private ArrayList<Jamky> campojamkyList;
并分配:campojamkyList = new ArrayList<>();
返回的数组在两种情况下都是相同的:
campolist = {ArrayList@1235} size = 18
0 = {Jamky@1235 }
campoid = 23
delka = 330
.......
当我想分配 SqLite 查询的结果时 campolist = db.getAllJamky(campo);
我收到错误消息。
有没有人知道为什么会发生这种奇怪的行为,或者一些提示如何将util.list转换为Array.list?
>因为List
不是一个类,它是一个接口。 ArrayList
实现列表。
对于方法,最好使用 List 作为返回,这样就不会限制该方法的进一步使用(例如,对 LinkedList)。
因此,您需要将db.getAllJamky(campo)
更改为如下所示的内容:
public List<YourObject> getAllJamky(YourObject yourObject) {
List<YourObject> list = new ArrayList<>();
// the implementation
...
return list;
}