• java字符串比较是否都可直接使用==?


    java字符串比较,两个字符串相不相等,直接用==来判断可以吗?或者判断两个字符串不相等,直接用!=?

    不能

    两个对象进行比较,如果使用==符号,那么比较的是这两个对象的“引用”(类似C语言中指针的概念)。字符串比较,通常情况下比较的是字符串的值而非引用,不同的“引用”是可以对应相同值的,如果这时候用==比较,得出的结论是不相等,但是实际上它们的值是相等的。同理,不相等也是一样,如果是用!=来判断,判断的是字符串的引用,如果两个字符串的值是相同的,它们的引用也不相同,进到判断的时候,就会判断为不相等,其实字符串的值是相等的

    所以,比较字符串的值,一般使用equals()进行比较

    String a = new String("abc");
    String b = new String("abc");
    a == b; //false
    a.equals(b) // true

    if(a!=b){

    a和b字符串的值是abc,它们的引用也不同,此时进到这个分支,如果是想判断字符的值,那么就出问题了

    }

    if(!(a).equals(b)){

    这个时候才是根据字符串的值,来判断这两个字符串的值,是否相同

    }

  • 相关阅读:
    JAVA-jar包下载地址
    JAVA-Eclipse中web-inf和meta-inf文件夹
    【转载】JAVA-dynamic web module与tomcat
    判断二叉树是不是平衡
    二叉树的深度
    二叉搜索树的后序遍历序列
    数对之差的最大值
    字符串的组合
    求二元查找树的镜像
    字符串的排列
  • 原文地址:https://www.cnblogs.com/cuitang/p/14116003.html
Copyright © 2020-2023  润新知