String类性的比较研究 26

String类型的比较研究

比较是否相等的运算符: ==
1、对于基本的数据类型的变量,==是直接判断值是否相等的。
2、对于引用数据类型的变量值,==是判断其地址值是否相同,也就是指向的是否是一个对象。

结论:
如果只是希望判断字符串的内容是否相等不建议使用==,因为==只会判断他们的地址值是否相同。

String类型的判断建议使用提供的API:equals方法判断。
public boolean equals (Object anObject):一个字符串与另一个字符串比较只要字符串的内容相同则返回true

public class StringDemo01 {
    public static void main(String[] args) {
        //1、对于基本的数据类型的变量,==是直接判断值是否相等的。
        int a = 14;
        int b = 14;
        System.out.println(a == b);

        //2、对于引用数据类型的变量值,==是判断其地址值是否相同,也就是指向的是否是一个对象。
        String s1 = new String("赵丽颖");//堆内存
        String s2 = new String("赵丽颖");//堆内存(每次new出来的东西地址都不一样)
        String s3 = "赵丽颖";//常量池

        System.out.println(s1 == s2);//false
        System.out.println(s2 == s3);//false

//        Boolean flag = s1.equals(s2);//比较内容
//        System.out.println(flag);
        System.out.println(s1.equals(s2));//比较内容
        System.out.println(s2.equals(s3));//比较内容



    }
}

发布了34 篇原创文章 · 获赞 16 · 访问量 278

猜你喜欢

转载自blog.csdn.net/qq_41005604/article/details/105267305
26
今日推荐