zoukankan      html  css  js  c++  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

  • 相关阅读:
    第一个SWT程序
    稀疏数组
    算法与数据结构
    《Java核心技术》学习笔记 第1-3章
    算术运算符
    5.11 rw zip file
    5.10 gob序列化
    5.9 piping between writer and reader
    5.7 io.MultiWriter(buf, f)
    5.7 读写 二进制数据
  • 原文地址:https://www.cnblogs.com/Wonderful-life217/p/8319952.html
Copyright © 2011-2022 走看看