为了账号安全,请及时绑定邮箱和手机立即绑定

字符串可以用==比较吗?如perfix==“java";字符又可以嘛?'A'=='B'

字符与字符串可以使用==比较吗?

正在回答

2 回答

字符串不可以,字符可以。这主要是因为“==”和equals有如下的区别:

    ==判断的是二者是不是指向同一个内存空间。equals是判断二者指向内存空间的值是否相同。也就是说,==是内存地址的比较,二equals是对字符串内容本身的比较。

    而在Java里面,每一个字符串都是String类型的对象,那怕他们的值相同,可是在内存里面,它们还是两个具有不同内存地址的对象,所以此时不能用“==”,应该用equals。而对于char类型的变量,其本质上是一个int类型的变量(ASCII码),其作为Java的基本类型之一,是为数不多的不具有对象这个概念的变量类型之一(除非用包装类进行包装),所以char类型是可以直接用“==”来进行判断的。

2 回复 有任何疑惑可以回复我~
#1

悠宇 提问者

非常感谢!回答的很详细
2015-11-26 回复 有任何疑惑可以回复我~

字符属于基本数据类型 基本数据类型都是可以使用==来进行比较的  字符串属于引用数据类型,引用数据类型的比较一般都使用equals方法(部分需要重写)来进行比较,具体原因见楼上

0 回复 有任何疑惑可以回复我~
#1

悠宇 提问者

谢谢,明白了
2015-11-26 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409791    人
  • 解答问题       4340    个

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

进入课程

字符串可以用==比较吗?如perfix==“java";字符又可以嘛?'A'=='B'

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信