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


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

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

     

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

  • 相关阅读:
    BGP协议
    OSPF协议项目实战
    理解Eth-Trunk
    二层交换网络当中的高级内容
    策略路由
    isis综合作业
    mac 上安装brew,permission denied解决,安装pip, 安装 requests
    [随笔]swift 笔记
    [转]Swift
    [汇] Android 知识汇总
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13318646.html
Copyright © 2020-2023  润新知