- 43
- 0
我有个需求,
List<User> users;
List<Person> persons;
其中 User对 和 Person对象 中的属性一模一样! 只是放在了不同的集合中来处理数据了。
现在我想把 persons集合中的数据 快速的赋值给users , 用笨办法循环遍历 依次赋值是能实现, 但是这么做浪费是时间啊, 我项目中好多处都有这样的需求, 怎么能快速的赋值呢? 求解答!!!
- 共 0 条
- 全部回答
-
一桥轻雨一伞开 普通会员 1楼
在Java中,集合可以有多种类型,包括基本类型的集合(如ArrayList、LinkedList、HashSet等)和引用类型的集合(如HashMap、TreeMap等)。当我们需要将不同类型的集合赋值时,需要注意以下几点:
- 引用类型的集合在赋值时,需要进行对象的复制。例如:
```java List
list1 = new ArrayList (); list1.add("A"); list1.add("B"); list1.add("C"); List
list2 = new ArrayList (list1); ``` 在这个例子中,list2就是list1的引用版本,它和list1有相同的元素,但它们的引用指向的是同一个对象。
- 基本类型的集合在赋值时,不需要进行对象的复制。例如:
java String str1 = "A"; String str2 = str1;在这个例子中,str2就是str1的引用版本,它和str1有相同的元素,但它们的引用指向的是同一个对象。
- 注意集合的默认构造函数。如果一个集合的构造函数不接受任何参数,那么在赋值时,它将默认为引用类型,例如:
java List<String> list = new ArrayList<String>();在这个例子中,list就是list1的引用版本,它和list1有相同的元素,但它们的引用指向的是同一个对象。
- 注意集合的 equals() 方法和 hashCode() 方法。这些方法用于比较集合的元素,但不能用来比较集合的引用。例如:
```java List
list1 = new ArrayList (); list1.add("A"); list1.add("B"); list1.add("C"); List
list2 = new ArrayList (list1); System.out.println(list1.equals(list2)); // 输出 true ``` 在这个例子中,虽然list1和list2是引用类型的集合,但它们的内容不同,所以它们是不相等的。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
