当前位置: 首页 > news >正文

kotlin Java 使用ArrayList.add() ,set()前面所有值被 覆盖 的问题

一、问题描述和分析

结构体的字段的属性为静态, 意味着该类的所有对象共享同一个属性,所以尽管集合里存的是不同的对象,但是对象的属性还是同一个值 修改其中任何一个,其他的也会“被修改”。使用kotlin语言时候,经常方便写,直接写字段,没有写构造函数。就会容易出现此问题。

所以需要写上构造函数,然后重新new 一个对象,防止被修改。

class SurveyBean {

    var n: Double = 0.0 //X(N)坐标
    var e: Double = 0.0 //Y(E)坐标
    var z: Double = 0.0 //Z(Z)坐标
    constructor(n: Double, e: Double, z: Double) {
        this.n = n
        this.e = e
        this.z = z
    }
    constructor()

}

二、解决办法

所以add或者set时候,重新new 一个结构体对象进行添加就可以解决。

surveyBeanList.add(SurveyBean(it.n,it.e,it.z))

以上代码都是kotlin写法。

http://www.dtcms.com/a/25773.html

相关文章:

  • 运用先进的智能算法和优化模型,进行科学合理调度的智慧园区开源了
  • STM32 HAL库USART串口中断编程:环形缓冲区防止数据丢失
  • AI IDE - Trae -学习与实践
  • 简单认识一下-Redis
  • 揭秘区块链隐私黑科技:零知识证明如何改变未来
  • springboot024-玩具租赁系统
  • nushell排查磁盘空间使用情况
  • FFmpeg 基本语法全面介绍
  • 利用pico4ultra提高生产力与学习效率的可行性方案
  • electron下载文件,弹窗选择下载路径,并通知下载进度
  • 初识MyBatis
  • Java IO
  • 【深度学习】分布偏移纠正
  • PHP场地预定小程序源码
  • 多表关联查询的优化
  • BERT 大模型
  • Grafana——Rocky9安装Grafana相关步骤记录
  • 【文献精读】AAAI24:FacetCRS:打破对话推荐系统中的“信息茧房”
  • 无第三方依赖 go 语言工具库
  • 1688商品评论API接口概述,json数据示例参考
  • Unity 手机屏幕适配
  • 简站主题:简洁、实用、SEO友好、安全性高和后期易于维护的wordpress主题
  • 记一次 Git Fetch 后切换分支为空的情况
  • oppo,汤臣倍健,康冠科技25届春招内推
  • 二、几何体BufferGeometry顶点笔记
  • 【MySQL高级】17 - MySQL中常用工具
  • 3.hadoop3.3.6 HA集群搭建
  • SpringBoot源码解析(十):应用上下文AnnotationConfigServletWebServerApplicationContext构造方法
  • 深度学习-1.简介
  • 深入探索 DeepSeek 在数据分析与可视化中的应用