账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Java 不同类型集合 赋值的问题!!求解答
    43
    0

    我有个需求,
    List<User> users;
    List<Person> persons;

    其中 User对 和 Person对象 中的属性一模一样! 只是放在了不同的集合中来处理数据了。
    现在我想把 persons集合中的数据 快速的赋值给users , 用笨办法循环遍历 依次赋值是能实现, 但是这么做浪费是时间啊, 我项目中好多处都有这样的需求, 怎么能快速的赋值呢? 求解答!!!

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 一桥轻雨一伞开 普通会员 1楼

      在Java中,集合可以有多种类型,包括基本类型的集合(如ArrayList、LinkedList、HashSet等)和引用类型的集合(如HashMap、TreeMap等)。当我们需要将不同类型的集合赋值时,需要注意以下几点:

      1. 引用类型的集合在赋值时,需要进行对象的复制。例如:

      ```java List list1 = new ArrayList(); list1.add("A"); list1.add("B"); list1.add("C");

      List list2 = new ArrayList(list1); ```

      在这个例子中,list2就是list1的引用版本,它和list1有相同的元素,但它们的引用指向的是同一个对象。

      1. 基本类型的集合在赋值时,不需要进行对象的复制。例如:

      java String str1 = "A"; String str2 = str1;

      在这个例子中,str2就是str1的引用版本,它和str1有相同的元素,但它们的引用指向的是同一个对象。

      1. 注意集合的默认构造函数。如果一个集合的构造函数不接受任何参数,那么在赋值时,它将默认为引用类型,例如:

      java List<String> list = new ArrayList<String>();

      在这个例子中,list就是list1的引用版本,它和list1有相同的元素,但它们的引用指向的是同一个对象。

      1. 注意集合的 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是引用类型的集合,但它们的内容不同,所以它们是不相等的。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部