首页 > 系统相关 >一次因内存引用引发的数据重复的问题

一次因内存引用引发的数据重复的问题

时间:2023-02-04 17:56:06浏览次数:48  
标签:重复 arraylist 内存 组时 数据 引用

前言

第一次使用expandablelistview,其中要创建一个二维的arraylist,但在使用过程中导致一直出现数据重复的状况,入图所示
image
当独立打开一组并关闭其他组时,显示正常。但当打开多个组时,则会出现数据重复,且重复内容和最近一次更新的内容相同。

解决

由于知道arraylist是内存引用,故当初没有往这方面想。因为觉着自己对expanablelistview了解不深,故一直以为bug在这个部分。但经过打印输出后没有发现任何问题。
之后开始断点调试,发现二维arraylist的两个子arraylist的对象引用是相同的,于是马上回头看初始化的部分,发现用的是一个对象,纯纯nt了。分别new过之后就正常运行了
原来的:
image


这个是正确的:
image

标签:重复,arraylist,内存,组时,数据,引用
From: https://www.cnblogs.com/pureayu/p/17092048.html

相关文章

  • vite(vue3)问题汇总(一)--- 基于vite的项目,修改node_modules中引用的包,但是开发模式下,
    ① 基于vite的项目,修改node_modules中引用的包,但是开发模式下,不会检测到改变的问题:为了提高运行速度,vite在首次运行时,对node_modules中的包进行了esmodule化,存储在n......
  • 全局异常处理解决重复添加同一用户-cnblog
    2.6全局异常处理2.6.1思路分析要想解决上述测试中存在的问题,我们需要对程序中可能出现的异常进行捕获,通常有两种处理方式:A.在Controller方法中加入try...catch进行......
  • C++ 引用:他是坤坤也是鸡哥
    一、前言作为一名ikun,我最喜欢的明星就是坤坤,但是坤坤又不只叫坤坤,因为他的成名之作《鸡你太美》,ikun们就经常亲切的叫他鸡哥。这个过程中,鸡哥就是我们ikun给偶像坤坤......
  • 「 每日一练,快乐水题 」287. 寻找重复数
    文章目录​​......
  • c++虚拟内存
    可以通过调用vmemalloc类型对象的括号运算符(len,name)分配大小为len,文件名为name的虚拟内存。返回首地址的迭代器。无需delete,程序结束后会自动清空文件,但是保留文件名#......
  • #yyds干货盘点# LeetCode面试题:无重复字符的最长子串
    1.简述:给定一个字符串s,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1:输入:s="abcabcbb"输出:3解释:因为无重复字符的最长子串是"abc",所以其长度为......
  • 指针和引用的区别
    指针和引用的对比指针是一种数据类型,它是专门用来存放地址的变量引用实际上是一种隐式指针,它是对象建立的一个别名,通过&来实现。不同点1、指针是一个变量,只不过这个变......
  • 利用引用传递一次遍历构造菜单树(附java&go demo)
    目录原理讲解javademoGodemo优点原理讲解利用引用传递,当儿子的儿子变动的时候,自己的儿子的儿子也变动(取地址)javademopackagecom.huiyuan.algorithm;importjava.......
  • 高性能内存队列Disruptor
    1背景Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于Disruptor开发的系......
  • c分配内存底层函数 realloc
    realloc(void*__ptr,size_t__size):更改已经配置的内存空间,即更改由malloc()函数分配的内存空间的大小。如果将分配的内存减少,realloc仅仅是改变索引的信息。如果是将......