gpt4 book ai didi

java - 谁能解释为什么 listAdapter 不采用通用参数?

转载 作者:行者123 更新时间:2023-12-01 22:53:09 26 4
gpt4 key购买 nike

我看了http://developer.android.com/reference/android/widget/ListAdapter.html并看到 ListAdapter 是一个公共(public)接口(interface)。由此我知道 ArrayAdaptor 实现了 ListAdaptor 。要创建引用类型 ListAdaptorArrayAdaptor 实例,我的代码是:

ListAdapter adaptor = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);

(编译得很好)。

我的问题是为什么 ListAdapter 不接受任何通用参数?

我尝试将其与使用 List (公共(public)接口(interface))引用创建数组列表进行比较。为此,我的代码是:

 List<String> l = new ArrayList<String>();

谁能解释一下两者初始化过程的区别吗?
列表似乎更直观,因为如果父级是通用的,那么子级也应该是通用的。

最佳答案

ArrayAdapter<T>实现ListAdapter 。这意味着它遵守ListAdapter的契约。在本例中,这仅意味着它实现了方法 areAllItemsEnabled()isEnabled(int position) .

ListAdapter 没有理由采用泛型类型,因为这两个方法不涉及泛型类型。

关于java - 谁能解释为什么 listAdapter 不采用通用参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24437419/

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