JAVA集合存放的是對象還是對象引用?,java集合

來源:互聯網
上載者:User

JAVA集合存放的是對象還是對象引用?,java集合

問題:添加一個對象到集合中時,集合裡面存放的是對象的引用還是對象本身?

答:對象的引用。以下代碼可以證明:

 1 import JAVA.util.ArrayList; 2 import JAVA.util.List; 3  4 public class Test5 { 5     public static void main(String args[]){ 6         List<User> userList1 = new ArrayList<User>();         7         List<User> userList2 = new ArrayList<User>();     8         User user1 = new User(); 9         userList1.add(user1);        10         userList2.add(user1);11         12         System.out.println("SET VALUE FOR USERLIST2:");        13         for(User user: userList2){14             user.setName("name");15             user.setPassword("password");        16         }17         System.out.println("PRINT VALUE FOR USERLIST1:");18         for(User user: userList1){19             System.out.println(user.getName());            20             System.out.println(user.getPassword());            21         }        22     }23     24     public static class User{25         private String name;26         private String password;27         28         public String getName() {29             return name;30         }31         public void setName(String name) {32             this.name = name;33         }34         public String getPassword() {35             return password;36         }37         public void setPassword(String password) {38             this.password = password;39         }40     }41 }

輸出結果:

SET VALUE FOR USERLIST2:
PRINT VALUE FOR USERLIST1
name
password

 

設定userList2中元素的value,但是userList1中元素的value也發生了改變,證明集合中存放的是對象的引用。

摘自:http://bettereveryday.iteye.com/blog/682322

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.