关于java中判断字符串相等==和equal 详解

15,339 阅读1分钟

①如果我们定义两个字符串:

        String c="123";
String d="123";

        System.out.println(c==d);

此时返回值为true;因为此时我们定义的c和d两个字符串,都是在内存中存储,其实指向了同一个存储空间。在debug模式中我们可以清晰的看到,其实两个字符串的id是一致的;

②如果我们实例化两个字符串对象,那么此时我们要比较的是一个类实例化出来的两个对象,此时使用==判断是不相等的

我们可以看到,这两个对象的id是不一样的。

最后:说一下 进行相等判断的两个方法:== 和 equal

==是两边的完完全全是一致的,才返回true,否则返回false

equal是判断两个对象中的内容是否一致,所以第二个例子 我们使用equal进行判断,返回值为true 使用 ==判断则返回false