我试图将我的用户定义对象添加到链表中,但是每次添加时,信息都会被复制。
public class Videostore(){
public LinkedList<Video> videoList = new LinkedList<>();
public Videostore(){
addVideo("a");
addVideo("b");
addVideo("c");
}
private void addVideo(String o){
Video vid = new Video(o);
videoList.add(vid);
}
}
public class Video {
public static Object title;
public static boolean isRent;
public Video(String t){
title = t;
isRent = false;
}
public static void setisRent(boolean bool){
isRent = bool;
}
public String toString(){
return title.toString();
}
}
当Video Store初始化时,videoList里面只有"c"。我需要它有b和c
问题是您的Video
类变量是static
,这意味着整个类中每个变量只有一个副本。它们会被每个新实例覆盖。
Video ---> "c"
^ ^
Video --/ /
/
Video --/
删除static
使它们成为实例变量,这意味着类的每个实例都有一个。这样这些值就不会相互覆盖。
Video ---> "a"
Video ---> "b"
Video ---> "c"