1

我的代码有什么问题?当我尝试将名称与上一个名称不同的项目分开时,我的 Android 还会将元素添加到新列表(

s = songs.get(0);
lastSong = s.song;
temp_songs.add(s);

for(int i=0; i<songs.size();i++) {
    s = songs.get(i);
    songg = s.song;

    if(songg != lastSong) {
        temp_songs.add(s);
        lastSong = songg;
    }
}

例如,我有一个排序列表:

ABC
ABC
ABC
BCD
BCD
CDE

处理新列表(temp_songs)后应该是:

ABC
BCD
CDE

但相反,我得到:

ABC
ABC
ABC
BCD
BCD
CDE
4

1 回答 1

0

尝试这个:

   lastSong = "";

   for(int i=0; i<songs.size();i++) {
       s = songs.get(i);
       songg = s.song;

       if(!songg.equals(lastSong)){
           temp_songs.add(s);
           lastSong = songg;
       }
   }
  1. 更简单的开始
  2. 在 java 字符串中使用 == 或 != 是不对的,.equals 是正确的,在这里阅读更多内容:http: //www.leepoint.net/notes-java/data/strings/12stringcomparison.html
于 2013-02-20T23:13:12.803 回答