zoukankan      html  css  js  c++  java
  • 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)){

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

    }

  • 相关阅读:
    MYSQL[18]
    MYSQL[11]
    hdu 1847
    hdu 2149
    uva 10341
    hdu 1850
    uva 10391字典树
    hdu 2473
    uva 10761
    hdu 1198
  • 原文地址:https://www.cnblogs.com/cuitang/p/14116003.html
Copyright © 2011-2022 走看看