您好、欢迎来到现金彩票网!
当前位置:21点 > 字符串 >

java判断字符串为什么用==做不了判断

发布时间:2019-08-17 01:16 来源:未知 编辑:admin

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部1.字符串与空对象NULL不是一个意思.字符串是一个存在的对象,只不过对象特殊在于它代表了一个空的字符串.空对象是不存在的对象.

  则得到的b为true,而==则是比较左右两边的对象是否指向内存的同一位置,事实上可以认为是比较HashCode(哈希码)是否相等,如:

  则b为false!因为a虽然是john,但在第二句中的john字符串是一个新创建的匿名String类对象!显然新建的对象与原来的对象在内存中的地址并不相同.

  String是引用类型,所以用==的话比较的是String的内存引用地址,并不是比较的值,而equals方法比较的是值,所以判断一个字符串是否相等要用equals方法,而判断是否为null的话,null是值内存为空,所以要用==

  再给楼主附加点东西,关于null和“”的区别,null为内存为空,“”为内容为空。

  数据在电脑中存储是存在内存中的,可我们怎么找到这个内存中的内容呢?要有一个名字,这个名字会记录值所存的真正地址(这个名字也是存在内存中的)

  我们判断比较的时候判断a==abc是错的,因为a=4000,所以要用equals,判断null是内存的空,直接判断的内存,所以直接==就可以了,和abc属于同理,而基本数据类型就不是存地址了,直接是值

  展开全部java判断字符串是否相等不用“==”,是用euqal方法的,这个不用怀疑。至于为什么我也不太清楚,我觉得这种东西不用去关心。

http://magaltouba.com/zifuchuan/442.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有