Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux集群 > Architecture > » 正文

关于java对象引用的一个易混淆的问题

来源: xiaohu0901 分享至:
    java中数据类型分2类,一种基本类型:包括int、short、long、char、float、double、boolean、byte;另外一种就是对象。对于java中的“引用”这个概念在这两种数据类型上处理方式是不一样的,例如:int intVal和Test t这2个变量,int intVal表示一个被称为intVal的存储地址,存放一个值为127,而Test t只表示存储了Test对象的地址,并没有存储Test对象所有的数据。若再声明一个Test t2=t的变量,则t2和t都是指向相同的一个对象地址,所以就会有以下情况发生:System.out.println(t2==t)输出true,System.out.println(t2.equal(t))输出true。但是若声明Test t3 = new Test(); t3=t;则t2和t指向同一个Test类的2个不同对象地址,所以System.out.println(t3==t)输出false,System.out.println(t3.equal(t))输出true

“==”比较对象是否是同一个,“equal”比较对象的值是否相同

Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史