夏思筠 2022-11-29 22:07 采纳率: 0%
浏览 37

Java-List执行clear()之后,再次添加数据,列表为空

一个在使用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倍一样的数据

  • 写回答

5条回答 默认 最新

  • pzzhao 2022-11-29 22:16
    关注

    去掉if判断就好了

               
                this.searchList.addAll(searchList);
            
    
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 11月29日

悬赏问题

  • ¥15 爬虫爬取网站的一些信息
  • ¥15 关于vue2中methods使用call修改this指向的问题
  • ¥15 idea自动补全键位冲突
  • ¥15 请教一下写代码,代码好难
  • ¥15 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题
  • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含
  • ¥15 麒麟V10桌面版SP1如何配置bonding
  • ¥15 Marscode IDE 如何预览新建的 HTML 文件
  • ¥15 K8S部署二进制集群过程中calico一直报错