在java中如何将不同的数据类型存储到链表中

jhkqcmku  于 2021-07-09  发布在  Java
关注(0)|答案(2)|浏览(316)

我得到了两个类的数据并写下:

public class Write {
    String temp = "test";
    public List<Data> testing(Data data)
    {
        data.setMessage(temp);
        List<Data> dataz = new LinkedList<>();
        dataz.add(data.getMessage());
        return dataz;
    }
}
public class Data {
    String message;
    public void setMessage(String message){ this.message  = message; }
    public String getMessage(){ return message; }

}

我想将消息的值存储到我的链表dataz中,但我提供了类型字符串,并且数据类型data是必需的。如何在不将链接列表更改为的情况下仍将邮件添加到linkedlist List<String> dataz = new LinkedList<>(); ?

ogq8wdun

ogq8wdun1#

你有三种方法:
对.add(something)中的对象something使用数据类型
将泛型类型更改为string并仍使用.add(something.getmessage())
将泛型类型更改为object(或remove generic),但以后必须使用casting(带有instanceof type checking)
如果以后要使用数据对象的字符串(message)表示而不是使用getmessage方法,可以重写tostring方法,然后第一种方法适合您(但似乎不是很好的方法)usg smpl:system.out.println(data);

sc4hvdpw

sc4hvdpw2#

解决了的:
在类数据中添加了对象和tostring方法:

public Data(String message)
    {
        this.message = message;
    }
    public String toString(){
         return message;
    }

类写入更改:

Data message1= new Data(temp);
        dataz.add(message1);

现在

System.out.println(dataz);

打印出一个字符串。

相关问题