字符串可以用==比较吗?如perfix==“java";字符又可以嘛?'A'=='B'
字符与字符串可以使用==比较吗?
字符与字符串可以使用==比较吗?
2015-11-22
字符串不可以,字符可以。这主要是因为“==”和equals有如下的区别:
==判断的是二者是不是指向同一个内存空间。equals是判断二者指向内存空间的值是否相同。也就是说,==是内存地址的比较,二equals是对字符串内容本身的比较。
而在Java里面,每一个字符串都是String类型的对象,那怕他们的值相同,可是在内存里面,它们还是两个具有不同内存地址的对象,所以此时不能用“==”,应该用equals。而对于char类型的变量,其本质上是一个int类型的变量(ASCII码),其作为Java的基本类型之一,是为数不多的不具有对象这个概念的变量类型之一(除非用包装类进行包装),所以char类型是可以直接用“==”来进行判断的。
举报