android java.util.Array List versus java.util.List



当我想使用服务器查询和离线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;
}

最新更新