我编写了以下代码 fragment ,但由于某种原因它不起作用:
主要:
TestClasss testClass = new TestClass;
ArrayList<TestObject> listObj = new ArrayList<>();
TestObject tb = new TestObject();
tb.setName("asd");
tb.setId("13");
listObj.add(tb);
testClass.addValue(listObj );
测试类
public void addValalue(ArrayList<Object> list) {
Log.e("list size is", String.valueOf(list.size()));
}
我在以下行 testClass.addValue(listObj )
上出现错误:
Error:(47, 11) error: method addValalue in class TestClasss cannot be applied to given types;
required: ArrayList<Object>
found: ArrayList<TestObject>
reason: actual argument ArrayList<TestObject> cannot be converted to ArrayList<Object> by method invocation conversion
我尝试创建一个类DataObject
:
public class DataObject {
}
并扩展这个类TestObject
:
public class TestObject extends DataObject
并更改方法addValue
,如下所示:
public void addValalue(ArrayList<DataObject> list) {
Log.e("list size is", String.valueOf(list.size()));
}
但仍然有同样的错误
最佳答案
更改:
public void addValalue(ArrayList<Object> list)
至:
public void addValalue(ArrayList<? extends Object> list)
顺便说一句,“Valalue”不是字典中的单词(只需确保您没有将其与“Value”混淆)
关于java - 将对象发送到方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31685452/