• Java中引用变量之间进行值传递不可以直接赋值,比如两个数组或者List通过a=b 来直接复制的话,b发生变化a也会改变,因为a,b指向同一地址。
     List<Integer> a = new ArrayList<Integer>(){{add(1);add(2);add(3);}};List<Integer> b = a;a.add(4);System.out.println(a.toString());System.out.println(b.toString());

  • 所以要解决这种赋值问题的话,我们都知道数组可以通过Arrays库函数来实现,List则可以通过一些其他方法来解决。
  • 首先有List a, List b,: 如果值全部复制可以通过以下几种方法来实现
  1. b.addAll(a) 来实现
     List<Integer> a = new ArrayList<Integer>(){{add(1);add(2);add(3);}};List<Integer> b = new ArrayList<Integer>();b.addAll(a);a.add(4);System.out.println(a.toString());System.out.println(b.toString());


2. List<> b = new ArrayList<>(a); 来实现

     List<Integer> a = new ArrayList<Integer>(){{add(1);add(2);add(3);}};List<Integer> b = new ArrayList<Integer>(a);a.add(4);System.out.println(a.toString());System.out.println(b.toString());


3. for each循环来赋值,不再展示
 
4. 还有一种情况就是采用 b=a 然后 a = new ArrayList<>(); 这样也可以。
 
5. 此外,若想用a的值来替换b的值(b不为空),方法2就不可以了,方法1也要先进行b.clear()才可以达到替换效果。

Java中将List中的值赋给另一个List几种方法实现相关推荐

  1. Python中按值来获取指定键的两种方法

    Python字典中的键是唯一的,但不同的键可以对应同样的值,比如说uid,可以是1001.id同样可以是1001.这样的话通过值来获取指定的键,就不止一个!而且也并不太好处理.这里同样提供两种思路来处 ...

  2. Java中将对象中属性值为空字符串设置为null

    业务逻辑中需要将对象中为空字符串的属性转换为null,简单的一种方式是前端JS控制,如果为空字符串则不传到后台,后台接收到没有值的属性默认为null.这种方式会导致JS繁琐.下面用后台通过反射的方式来 ...

  3. 如何把一个数组的值赋给另一个数组

    java中的数组 一维数组中把一个数组的值赋给另外一个数组 public class test {public static void main(String[] args) {int[] array ...

  4. java中给对象的List集合去重的几种方法(Lambda)

    java中给对象的List集合去重的几种方法 前言 一.lambda表达式的去重方式 二.Stream API中的collect去重方法 三.Stream API 中的distinct方法去重 前言 ...

  5. JUC里面的相关分类|| java并发编程中,关于锁的实现方式有两种synchronized ,Lock || Lock——ReentrantLock||AQS(抽象队列同步器)

    JUC分类 java并发编程中,关于锁的实现方式有两种synchronized ,Lock AQS--AbstractQueuedSynchronizer

  6. html5如何传递值,如何将var中的值传递到另一个var

    我在将声明中的值传递给另一个var时遇到问题.不确定的语法.如何将var中的值传递到另一个var 目前在我的代码下面,我的html中的,它什么也没有返回,即空白.但是,如果我将脚本代码更改为$('#x ...

  7. java整型转换为数组_基于java中byte数组与int类型的转换(两种方法)

    java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中,发送.者接收的数据都是 byte数组,但是int类型是4个byte组成的,如何把一个整形 ...

  8. Android 中设置线程优先级的正确方式(2种方法)

    Android 中设置线程优先级的正确方式(2种方法) 在 Android 中,有两种常见的设置线程优先级的方式: 第一种,使用 Thread 类实例的 setPriority 方法,来设置线程优先级 ...

  9. xlsx怎么设置行高列宽_Excel2016中调整行高和列宽的两种方法

    在报表的编辑过程中经常需要调整特定行的行高或列的列宽,例如当单元格中输入的数据超出该单元格宽度时,需要调整单元格的列宽.本文图文讲述了Excel2016中调整行高和列宽的两种方法. 方法一:使用命令调 ...

最新文章

  1. UITests操作指南
  2. python天天学怎么样-python练习:好好学习,天天向上
  3. jQuery封装tab选项卡组件(自定义自动功能和延迟显示功能)
  4. 五款热门Android手机性能测试 Nexus S大胜
  5. 常用算法大全-贪婪算法
  6. 滑铁卢大学计算机科学双录取,滑铁卢大学双录取要求
  7. java回车不终止_java 在console行输入一串String后回车,仍无法停止。 下面的程序是计算相似度的,当用户输入关键字后...
  8. openstack nova调用libvirt,跟踪libvirt源码实例详解(cpu_mode及live_migrate 错误解决)...
  9. 凭据分配没有加密oracle_两种方法解决远程桌面出现“这可能是由于CredSSP加密Oracle修正”的问题-网络教程与技术 -亦是美网络...
  10. silabs 大话si4463两种数据传输模式
  11. hive相关的example
  12. Webview--如何让加载进来的页面自适应手机屏幕分辨率
  13. 谈谈JS二进制:File、Blob、FileReader、ArrayBuffer、Base64
  14. 字符串转json对象
  15. 完全平方数:若一个整数n能表示成某个整数m的平方的形式,则称这个数为完全平方数。写一个程序判断输入的整数是不是完全平方数。
  16. 什么是反射?有什么作用?
  17. BFO Publisher轻松将HTML转换为PDF
  18. BDP FL PEG4 (4E) TCO,亲水性PEG间隔臂可以增加水溶性,2183473-16-5
  19. python统计大小写字符出现的个数
  20. 计算机主板的选购技巧,如何看芯选板?各种主板选购技巧推荐

热门文章

  1. 【机器学习】知否?知否?广义线性模型
  2. 【MCtalk活动推荐】娱乐社交APP的AI探索、架构与性能优化实践
  3. 【奖】《密码信》破解者们,快来领奖啦!
  4. react系列知识---11组件间抽象
  5. 理解UIView的绘制
  6. 单点登录之实战CAS5.1.x(六)——REST协议
  7. 工程师文化播客: 从工程转向管理,访谈Github公司的Phil Haack
  8. 第三章 经典场景设计
  9. Nginx 负载均衡配置和策略
  10. [Leetcode] Permutations 全排列