java - 将对象发送到方法

标签 java android object arraylist

我编写了以下代码 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/

相关文章:

java - 用 thymeleaf 测试 spring-boot web-app

java - java处理中如何一键来回改变背景颜色?

php - 为嵌套对象扩展 json_encode

java - 基于逻辑构造对象类型——这可以做到吗?

java - 服务器/客户端之间的文件传输

java - 为什么 rs.Next() 跳过列

android - 在给定的时间间隔后在android中发出声音

android - 代理系绳 android >> Firefox 有效,ssh/wget/apt 无效。这是一个 tcp/http 问题吗?

android - 警告 : AndroidManifest. xml 已经定义了 versionCode

javascript - 用对象构造数组