java - Android:当我传递 Null 时,构造函数是不明确的,但当我传递分配给 Null 的变量时则不是

标签 java android arraylist adapter android-arrayadapter

<分区>

我写了下面的语句来创建一个 ArrayAdapter<String> ,

ArrayAdapter<String> arrayListAdapter = new ArrayAdapter<String>(getActivity(), R.layout.fragment_result_titles, R.layout.row_listview, arrayList);

但是我得到了构造函数调用不明确的错误。

我理解传递null时,不清楚ArrayAdapter(Context context, int resource, int textViewResourceId, T[] objects)中的哪一个和 ArrayAdapter(Context context, int resource, int textViewResourceId, List<T> objects)我们在打电话吗?

但后来我尝试了这个:

ArrayList arrayList = null;
ArrayAdapter<String> arrayListAdapter = new ArrayAdapter<String>(getActivity(), R.layout.fragment_result_titles, R.layout.row_listview, arrayList);

这不会给出错误,虽然我仍然传递 null ,不是吗?

为什么会这样?

最佳答案

发生这种情况是因为在第二种情况下,arrayList 是 ArrayList 类型的变量,恰好为 null。在第一种情况下,没有关于参数的类型信息,因此编译器不知道应该调用哪个方法。您可以使用 (List) null 作为参数来使第一个案例起作用。

关于java - Android:当我传递 Null 时,构造函数是不明确的,但当我传递分配给 Null 的变量时则不是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27525404/

相关文章:

java - 将来自 Android 应用程序的输入发送到 Google 文档电子表格

android - SchemaFactory.newInstance() 异常

java - 使用用户输入值显示数组列表中的特定对象

java - 有没有更好的方法从多个字符串数组中查找任何字符串

java - 按请求绘制而不是使用指定的 fps 绘制

java - 编写打印素数数组的方法时遇到麻烦

java - 无法识别 Hibernate 符号 @id @column

android - 用户可以取消选择微调器中的值吗?

java - 你能从数组列表输入中获取索引号吗?

Java 8 将函数应用于 Stream 的所有元素而不破坏流链