Java判断字符串相等的办法(不能直接用==判断)

用惯了“==”来判断变量的值是否相等,这回,判断两个字符串变量的内容是否相同,毫不犹豫就想到了“==”了。

      调试内容是这样的,我们用户注册页面有两个框分别是输入密码(设为变量a)和密码确认(设为变量b)的,那么在后台接收用户信息后需要验证这两个密码是否相同,只有相同了才能通过,结果,我们的程序在我填写无误的情况下进入出错页面,debug之后,发现后台接收到的a和b中的字符串内容是完全一致的,但是在if语句if(a==b)进行两者的判断时,竟然判断结果是false,我仔细比较了a和b两个变量的具体内容,发现,除了有一个用于标识变量的id号不同外,其余内容都相同,很是不解,于是问了TL,才明白了缘由。事实上,用“==”来判断字符串变量是否相等时,它是通过判断两个变量的标识(也就是id号)来决定的,即如果a和b同时指向的是内存中的同一个对象,那么他们的id号是相同的,内容当然也是相同的,而我们这里要判断的是两个不同对象中的字符串内容是否相等,很明显,是不同的对象,那么,用“==”来判断的话,结果肯定都是false了。

 

   既然这样,上面提到的那种情况就不能用“==”了,而应当另寻它径。有一个方法,那就是调用String类自带的equals方法,这个方法就是通过比较变量中的字符串内容来比较字符串是否相等的,刚好满足要求,所以,这种情况,就应该使用equals方法了。其实,大部分情况下,我们要比较的都会是不同字符串对象的内容,所以,比较字符串是否

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值