一个在使用Java List的clear()方法遇到的问题:在使用List.clear()方法之后,无论我怎么插入数据,List都为空。
//定义:
private List<musicData> searchList;
//构造方法:
public MusicSearchListAdapter(List<musicData> searchList){
this.searchList = searchList;
}
//另一个类实例化之后调用的方法
public void setMusicSearchList(List<musicData> searchList){
Log.d(TAG,"setMusicSearchList---->"+searchList);
this.searchList.clear();
if (this.searchList == null){
this.searchList.addAll(searchList);
}
Log.d(TAG,"new searchList is "+this.searchList);
}
运行结果:
D/MusicSearchListAdapter: setMusicSearchList---->[musicData{uuid=1277146, songName='La La Love On My Mind', singer='Ann Winsborn', duration=0, path='/storage/emulated/0/kugoumusic/Ann Winsborn - La La Love On My Mind.mp3', album='null', isPlaying=false, isFavority=false}]
D/MusicSearchListAdapter: new searchList is []
明明添加进去的list不是空的,但是addAll()之后,打印出来的list是空的。如果不执行clear()方法,则会显示添加进去的list的2倍一样的数据