美文网首页
43-字符串比较

43-字符串比较

作者: c88bc9f9d088 | 来源:发表于2020-11-27 09:07 被阅读0次

        下面首先来回顾一下,如果说现在要想判断两个int型变量是否相等,那么肯定使用“==”来完成,这个是由程序直接提供的相等的运算符。

    范例:进行“==”比较

    public class StringDemo {
        public static void main(String args[]){
            int x = 10;
            int y = 10;
            System.out.println(x == y);
        }
    }
    

        但是String类实际上也牵扯到一个相等的判断问题,但是对于String类相等的判断也可以使用“==”,只不过判断的不准确而已,下面通过代码来观察。

    范例:实现字符串的相等判断

    public class StringDemo {
        public static void main(String args[]){
            String strA = "mldn";
            String strB = new String("mldn");
            System.out.println(strA == strB);   //false
        }
    }
    

        此时的比较并没有成功,所以发现虽然两个字符串对象的内容是相同的,但是“==”也无法得到准确的相等判断,那么这种情况下如果要想实现准确的字符串相等判断,那么可以使用String类中所提供的一个比较方法:
    ·字符串比较(有变形):public boolean equals(String str);

    范例:利用equals()实现字符串比较

    public class StringDemo {
        public static void main(String args[]){
            String strA = "mldn";
            String strB = new String("mldn");
            System.out.println(strA.equals(strB));   //true
        }
    }
    

    面试题:请解释String比较中“==” 与 equals()区别?

    • “==”:进行的是数值比较,如果用于对象比较上比较的是两个内存的地址数值;
    • equals():是类所提供的一个比较方法,可以直接进行字符串内容的判断。

    相关文章

      网友评论

          本文标题:43-字符串比较

          本文链接:https://www.haomeiwen.com/subject/gpwtwktx.html