关于JAVA中LIST元素修改的一个问题记录

2023-11-20

在工作中有遇到一个问题,需要从既有获取数据库中的LIST数据,做一下对其中部分数据做处理存入另外一个LIST集合之中,但是,有些现象还是比较出乎我的意料的,模拟了一下相关场景,具体的代码如下:

package com.interview.demo;

import java.util.ArrayList;
import java.util.List;


class Student {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}


public class ListTest {

    public static void main(String[] args) {
        List<Student> stuList = new ArrayList<>();

        Student stu1 = new Student();
        stu1.setAge(18);
        stu1.setName("张三");

        Student stu2 = new Student();
        stu2.setAge(19);
        stu2.setName("李四");

        stuList.add(stu1);
        stuList.add(stu2);


        List<Student> copyStuList = new ArrayList<>();
        // 如果是将tempStudent定义在外层,
        // 则会导致最后copyStuList存储的值均为"李四"的数据
        Student tempStudent = new Student();
        
        for (Student stu : stuList) {
            // 这样一来,将tempStudent定义在循环内,
            // 可以解决数据均为同一个"李四"数据的问题,但需要更多资源
            // Student tempStudent = new Student();
            tempStudent.setName(stu.getName());
            tempStudent.setAge(stu.getAge());
            copyStuList.add(tempStudent);
        }

        // 输出原来的学生LIST数据
        System.out.println(stuList);

        // 输出COPY的学生LIST数据
        System.out.println(copyStuList);
    }

}

不知道这样类似的问题,有没有什么更好的解决方案?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于JAVA中LIST元素修改的一个问题记录 的相关文章

  • 用于解析和构建逻辑表达式的 Java 库

    我正在寻找一个 Java 开源库来解析和构建类似 SQL 的表达式 例如评估表达式的有效性 例如 a x or y and b z 另外我想要一个用于构建或扩展表达式的 API 就像是 Expression exp new Expressi
  • java.lang.VerifyError:JVMVRFY012堆栈形状不一致;

    在 WAS 8 5 5 中部署 Maven 项目时出现以下错误 我在WAS中安装了JDK 1 6和1 7 错误500 org springframework web util NestedServletException 处理程序处理失败
  • 记录共享和映射的诊断上下文

    据我所知 其他人做了什么来解决 Commons Logging 项目 针对 NET 和 Java 不支持映射或嵌套诊断上下文这一事实 执行摘要 我们选择直接使用实现者日志框架 在我们的例子中为 log4j 长答案 您是否需要一个抽象日志框架
  • 无法从资源加载图片

    So I am trying to load a image file from a resource so that when I export my application into a jar file it could be use
  • 具有 JPA 持久性的 Spring 状态机 - 存储库使用

    我试图弄清楚如何轻松使用 Spring 状态机 包括使用 JPA 进行持久化 这是我正在处理的问题 不兼容的数据类型 工厂和持久性 在程序的某个时刻 我想使用连接到用户的状态机 有用于此目的的存储库 项目spring statemachin
  • Struts 1 到 Spring 迁移 - 策略

    我有一个legacy银行应用程序编码为Struts 1 JSP现在的要求是迁移后端 目前为 MVC to Springboot MVC 后续UI JSP 将迁移到angular Caveats 1 后端不是无状态的 2 会话对象中存储了大量
  • 插入时的 iBatis 判别器

    我有一个抽象类Example以及与之相伴的具体子类 我使用鉴别器来提取数据out数据库的 像这样
  • 正确签名的 JNLP 应用程序无法在 Java 7 中运行

    我有一个 JNLP 应用程序 由于证书过期需要更新 我有一个经过 CA 验证的新证书 我已将新证书导入到我的密钥库中 我已导入完整的证书链 我的构建文件对构建中的 jar 进行签名和时间戳
  • 在带有 Protocol Buffers 的项目中使用 Proguard 有什么特点?

    我有一个使用 Google Protocol Buffers 的项目 一旦我尝试用 ProGuard 对其进行混淆 似乎 protobuf 会导致问题 我将所有自己的类打包成mybuildedclasses jar 谷歌代码被打包成prot
  • 为什么无法从 WEB-INF 文件夹内加载 POSModel 文件?

    我在我的 Web 项目中使用 Spring MVC 我将模型文件放在 WEB INF 目录中 String taggerModelPath WEB INF lib en pos maxent bin String chunkerModelP
  • 如何在不反编译的情况下更改已编译的.class文件?

    我想更改 class 文件方法 我安装 JD Eclipse Decompiler 并打开 class 文件 我添加了一些代码并保存 class 文件 但是 class 文件没有改变 我不知道如何使用反编译器 如果可能的话 如何在不使用反编
  • Java 中 JButton 的击键/热键

    最初我使用 JMenu 并建立热键以使用加速器工作 它运行得很好 现在我想在 JButton 中实现相同的行为 但我陷入困境 这是我编写的代码 请分享您的想法 以便我可以走上正确的道路 import javax swing import j
  • 当底层连接是有状态时如何使用 Apache HttpClient?

    我在谷歌上搜索了很多关于如何使用 HttpClient 进行多线程处理的信息 他们中的大多数人建议使用 ThreadSafeClientConnManager 但我的应用程序必须登录某个主机 登录表单页面 以便 HttpClient 获得底
  • 删除 JFX 中选项卡后面的灰色背景

    So is there any way to remove the gray area behind the tab s 我尝试过用 CSS 来做到这一点 但没有找到方法 要设置 tabpane 标题的背景颜色 请在 CSS 文件中写入 t
  • Android UnityPlayerActivity 操作栏

    我正在构建一个 Android 应用程序 其中包含 Unity 3d 交互体验 我已将 Unity 项目导入 Android Studio 但启动时该 Activity 是全屏的 并且不显示 Android 操作栏 我怎样才能做到这一点 整
  • Collections.sort(list) 和 list.sort(Comparator) 之间的区别

    有什么理由让我应该选择Collections sort list 方法而不是简单地调用list sort 内部Collections sort只是调用sort的方法List无论如何 上课 令人惊讶的是几乎每个人都告诉我使用Collectio
  • Axis2 错误:要输出的文本中的空白字符 (0x4) 无效

    我创建了一个 Java 客户端 使用 Axis2 1 7 6 作为代码生成器与 SOAP Web 服务进行交互 问题在于客户端的某些输入抛出异常并显示以下消息 org apache axis2 AxisFault Invalid white
  • 受信任的 1.5 小程序可以执行系统命令吗?

    如果是的话 这个能力有什么限制吗 具体来说 我需要以 Mac OSX 为目标 我以前用过这个在 Windows 系统上启动东西 但从未在 Mac 上尝试过 public void launchScript String args Strin
  • Java/MongoDB 按日期查询

    我将一个值作为 java util Date 存储在我的集合中 但是当我查询以获取两个特定日期之间的值时 我最终得到的值超出了范围 这是我的代码 插入 BasicDBObject object new BasicDBObject objec
  • 为什么java.lang.Cloneable不重写java.lang.Object中的clone()方法?

    Java 规范java lang Cloneable接口将自身定义为表示扩展它的任何对象也实现了clone 休眠的方法java lang Object 具体来说 它说 一个类实现了Cloneable接口来指示java lang Object

随机推荐

  • 5类6类7类网线对比_3类、5类、超5类网线大家了解多少?

    随着时代的进步 网络成为大家必不可少的东西 在安装网络的时候网线是大家最容易忽略的部件 在组建网络时 大家大多都重视光猫 交换机 路由器等设备 但是对于网线 大家一般都不会挑剔 可是随着网络的提速 网线的重要性也越来越明显 今天蜗牛就和大家
  • 给定一个序列快速计算不同二叉树的个数

    给定一个序列求二叉树的个数 就相当于n个数进栈然后得到一个出栈序列种树 假设用f n 表示n个数的出栈序列数的种树 假设第一个出栈序数是k 则k将1 n的序列分为两个序列 其中一个是1 k 1 序列个数是k 1 另一个是 k 1 n 序列个
  • mybatis批量插入后获取自增ID

    mybatis批量插入后获取自增ID 上代码 Mapper java 批量新增产品元素 param elementList 产品元素列表 return 结果 public int insertOrderElement List
  • 分享常用的开发资源

    前言 分享一些本人工作至今整理的一些资源 主要是包括工作 生活 博文中用到的文档 软件和网站 1 文档暂时未整理好 就先不放上来 如需要某方面的文档 可以联系本人 如果有的话可以进行分享 包括但不限于java 大数据 Python SQL等
  • DC-DC的功率电感 是越大越好? 还是越小越好?

    DC DC的功率电感 是越大越好 还是越小越好 问题 DC DC的功率电感 是越大越好 还是越小越好 回答 刚刚好最好 过大过小都不好 首先由公式可知 电感值越大 其Ripple越小 亦即电流越稳定 进而降EMI辐射干扰 但过大的电感值 会
  • 微信小程序之map地图规划路线以及显示距离

    有个问题 在选择公交路线 包含步行和公交 时 怎么才能让不同的路线显示不同的颜色 ps 有个方式 自己写坐标解压往后的存入新数组 把步行时的数据标注下 有什么简单的方法呢 自定义函数文件 自动获取定位信息 function getLocat
  • Kraken:一款基于爆破技术的多平台分布式密码安全测试工具

    关于Kraken Kraken是一个功能强大的多平台在线分布式密码安全测试工具 该平台基于暴力破解技术来实现对密码安全性的测试 并允许广大研究人员在多台设备上以并行处理的方式遍历字典 基于crunch字典生成器 除此之外 该工具不仅可以通过
  • 密码学替代密码

    1 请指出一般替代密码的明文空间 密文空间和密钥空间各是什么 明文空间M和密文空间C都是26个英文字母的集合 密钥空间K Z 26 gt Z 26 是置换 是所有可能置换的集合 2 单表替代密码和多表替代密码的主要特点是什么 单表替代密码
  • python读取文件名存到list_Python之从文件读取数据到list的实例

    本篇文章小编为大家分享一篇Python之从文件读取数据到list的实例讲解 文章中有代码列出供大家参考 本篇文章具有很好的参考价值 希望对大家有所帮助 下面随扣丁学堂Python培训小编一起来看一下Python之从文件读取数据到list的实
  • TJmaie - 阅读作业

    读了邹老师的讲义以及移山之道 有不小的收获 不过按要求 先说说疑问吧 由于邹老师大多都以讲故事的方式来讲道理 严格意义上来说 是很难找到 错误 的 只是各人认不认同罢了 我在团队中的身份是Dev 我也重点关注了这一块 顶级程序员的心得 Co
  • jeesite学习笔记——新增一条信息时同步创建用户

    1 效果 截图 添加一条个人信息时同步创建它的用户信息 2 部分代码展示 因为要为个人同步创建 主体在 个人信息 模块 与 用户信息 添加模块无关 只会调用它的部分方法 所以所有代码都在 个人信息 模块进行操作 2 1因为操作涉及到两个数据
  • STM32 IAP 在线升级详解

    扩展 IAP主要用于产品出厂后应用程序的更新作用 考虑到出厂时要先烧写IAP 再烧写APP应用程序要烧写2次增加工人劳动力基础上写了 STM32 IAP APP gt 双剑合一 链接稍后发 一 在进入主题之前我们先了解一些必要的基础知识 s
  • JSON parse error: Invalid UTF-8 解决办法系列

    今天在本地测试通过的代码 部署之Tomcat 服务器 前端同事给我反馈如下的错误信息 Request exception org springframework http converter HttpMessageNotReadableEx
  • mciSendString函数

    mciSendString open1 GetBuffer open1 GetLength buf sizeof buf NULL 来自
  • tinystl实现(第七步:Utility.h)

    经过长时间的学习终于可以开始tinystl的仿 chao 写工作了 本文参考了这位大佬的github 坦白讲我只是补充了注释 因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验 所以只能这样做 不过相信能够有助于大家的学习
  • 图像加权运算

    import os import re import cv2 cv2 imshow image img 显示 cv2 waitKey 10000 停留 cv2 destroyAllWindows 关闭 from PIL import Ima
  • java 开源 聊天机器人_用Java实现基于Web端的AI机器人聊天

    本文详细介绍了如何用Java实现Web聊天机器人 通过创建一个新项目来学习一下 一 创建一个新项目 添加所需的依赖项 打开pom xml文件在IDE中 将下列内容添加到区域 JCenterhttps jcenter bintray com
  • 去国企1年后,我后悔了!重回大厂内卷

    文章来源 cnblogs com peiyu1988 html 01 前言 2019年初 我通过一整天的笔试及面试加入一家 某一线城市国资委全资控股 某集团的研究机构 中央研究院 任职高级软件工程师 中级职称 在这边工作了整整一年 目前已经
  • 图的深度优先遍历(非递归+递归,详解)

    图的深度优先遍历 非递归算法 include
  • 关于JAVA中LIST元素修改的一个问题记录

    在工作中有遇到一个问题 需要从既有获取数据库中的LIST数据 做一下对其中部分数据做处理存入另外一个LIST集合之中 但是 有些现象还是比较出乎我的意料的 模拟了一下相关场景 具体的代码如下 package com interview de