Java Object Clone

來源:互聯網
上載者:User

標籤:ret   int   rop   sys   name   prope   use   注意   over   

Java Object Clone

        User user = new User();        user.setName("tom");        User user1 = new User();        user1.setName("jerry");        List<User> list = new ArrayList<>();        list.add(user1);        user.setChildren(list);        user.setUser(user1);        System.out.println(user);        User2 user2 = new User2();        BeanUtils.copyProperties(user2,user);        System.out.println(user2);        List<User2> children = user2.getChildren();        // 此處會出現錯誤        for (User2 user21 :children  ) {            System.out.println(user21);        }        User user3 = (User) BeanUtils.cloneBean(user);        System.out.println(user3);

user:

package com.test;import java.util.List;public class User {    private String name;    private List<User> children;    private User user;    public User getUser() {        return user;    }    public void setUser(User user) {        this.user = user;    }    @Override    public String toString() {        return "User{" +                "name=‘" + name + ‘\‘‘ +                ", children=" + children +                ", user=" + user +                ‘}‘;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public List<User> getChildren() {        return children;    }    public void setChildren(List<User> children) {        this.children = children;    }}

user2:

package com.test;import java.util.List;public class User2 {    private String name;    private List<User2> children;    private User2 user2;    public User2 getUser2() {        return user2;    }    public void setUser2(User2 user2) {        this.user2 = user2;    }    @Override    public String toString() {        return "User2{" +                "name=‘" + name + ‘\‘‘ +                ", children=" + children +                ", user2=" + user2 +                ‘}‘;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public List<User2> getChildren() {        return children;    }    public void setChildren(List<User2> children) {        this.children = children;    }}

 

注意和spring beanutils的區別:

72961383/

傳說spring Beanutils的效能要更好一些;

 

Java Object Clone

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.