黑马程序员技术交流社区

标题: 字符串可以用==号来做判断吗? [打印本页]

作者: 胡思乱想的猫    时间: 2016-1-16 22:36
标题: 字符串可以用==号来做判断吗?
class Demo{
        public static void main(String[]args){
                String s1 = "abc";
                String s2 = "abc";
                if( s1.equals (s2) ){
                        System.out.println( "它们是一样的");
                }
        }
}
和下面这个代码
class Demo{
        public static void main(String[]args){
                String s1 = "abc";
                String s2 = "abc";
                if( s1== s2 ){
                        System.out.println( "它们是一样的");
                }
        }
}  我运行了一下它们的结果是一样的  
但是我搞不清楚它们的区别,就是 (s1==s2)和(s1.equals( s2 )) ,哪位大神能解
作者: StringBOX    时间: 2016-1-16 22:56
两段程序中的s1和s2存的都是地址值,不是“abc”,所以==比较的是地址,自然不相等咯,而equals是直接比较对象中的数值,不是地址值,所以相等,去看看String类吧。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2