基本上,我试图能够从数组列表重命名列表项。典型的arrayList.set(index, "something")
在我的情况下没有多大帮助,因为我正在使用这样的类......
public class Song {
private long id;
private String title;
private String artist;
public Song(long songID, String songTitle, String songArtist) {
id=songID;
title=songTitle;
artist=songArtist;
}
public long getID(){return id;}
public String getTitle(){return title;}
public String getArtist(){return artist;}
}
所以我猜测arrayList.set
方法的第二个参数必须与这个类相关联,我不确定如何做到这一点。例如,如果我想更改标题,我会使用类似arrayList.set(index, Song(null, newTitle, null)
的内容吗?
答案 0 :(得分:2)
您可以向对象添加setter
:
class Song {
// ...
public void setTitle(String title){
this.title = title;
}
public void setArtist(String artist){
this.artist = artist;
}
}
然后使用数组的get(int index)
方法找到要重命名的歌曲。
arrayList.get(index).setTitle("new Title");
执行
arrayList.set(index, Song(null, newTitle, null)
不会重命名索引中已存在于数组中的现有歌曲。这将创建一个新歌曲并替换给定索引处的一个商店。
BTW new Song(null, newTitle, null)
无法编译,因为您的id
不能null
。