Integer 类型初始化 && java 形参

参考:http://blog.sina.com.cn/s/blog_6b8b431d0100y8s0.html

int a = 1;
Integer b = 1;
Integer c = new Integer(1);
Integer d = Integer.valueOf(1);   //Integer.valueOf(int i) 源码上是 进行范围判断后 采用 new Integer(i)方法
System.out.println(a==b);     // true
System.out.println(a==c);     // true
System.out.println(a==d);     // true
System.out.println(b == c);   // false
System.out.println(b == d);   // true
System.out.println(c == d);   // false   
如果
Integer e = c;
System.out.println(e==c);   //  true 所指对象与c一致;

System.out.println(c.equals(b));  // true 因为值相等  

 

当和包装类对比的对象是其对应的基本类型时,包装类会自动拆箱成基本数据类型与之对比

java 函数形参:

参考:http://blog.csdn.net/tianlincao/article/details/6875593

第一:java方法基本数据类型是传值,对象类型传引用,这是千真万确的。  不会修改基本数据类型本身

第二:当参数是对象时,无论方法体内进行了何种操作,都不会改变实参对象的引用。

第三:当参数是对象时,只有在方法内部改变了对象的内容时,才会改变实参对象内容。

个人认为: java中形参都是传递的复制对象,形参为基本数据类型时,传递的是复本的值。

                形参为对象时,传递的是该引用的复本,你只能修改引用所指向对象(类似C/C++里面指针的思考),但是不能修改这个引用(或参数本身)

 

另外,如果形参中的对象没有初始化,即只是一个对象引用没有指向对象,则会报错。

         在函数中将参数对象置为null,对原对象无影响   ps:传递的是引用的复本

 

参考:http://zhidao.baidu.com/question/137268222.html 未被采纳的那条回答

       方法中的局部变量,在方法结束后被回收,但是如果在方法中被外部变量引用,则方法结束后,仍旧会存活

转载于:https://www.cnblogs.com/nkxyf/archive/2013/03/22/2976116.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值