关于java引用传递问题,谁能给一个详细的解释,谢谢了???

[复制链接]
查看11 | 回复3 | 2012-11-9 17:19:18 | 显示全部楼层 |阅读模式
* Java 编程语言只有值传递参数。 * 当一个对象实例作为一个参数被传递到方法中时, * 参数的值就是该对象的引用一个副本。 * 指向同一个对象,对象的内容可以在被调用的方法中改变, * 但对象的引用(不是引用的副本)是永远不会改变的. * Java参数,不管是原始类型还是引用类型,传递的都是副本(有另外一种说法是传值,但是说传副本更好理解吧,传值通常是相对传址而言)。list = new ArrayList[I]();只是改变了副本的地址。如果注释掉list = new ArrayList[I]();下面改变了原地址中的值list.add(1);list.add(2);...
回复

使用道具 举报

千问 | 2012-11-9 17:19:18 | 显示全部楼层
getList方法中list = new ArrayList[I]();使变量list指向了新的地址 list.add(1); list.add(2);修改的是新地址的内容,main方法System.out.println("size:" + list.size());打印的还是旧地址的值所以是0getList方法...
回复

使用道具 举报

千问 | 2012-11-9 17:19:18 | 显示全部楼层
package com.list;import java.util.ArrayList;import java.util.List;public class list { public static void main(String[] args) {
List[I] list = new ArrayList<Int...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行