能不能利用这两个程序讲解一下==和equals的区别?
public class C1
{
static String abc = "abc"; static String def = "def";
public static void main(String[] args)
{
if ( (abc + def).equals("abcdef") )
System.out.println("a");
else
System.out.println("b");
}
}
×××××××××××××××××××××××
public class C2
{
static String abc = "abc"; static String def = "def";
public static void main(String[] args)
{
if ( (abc + def) == "abcdef" )
System.out.println("a");
else
System.out.println("b");
}
}
第一个输出为a,第二个输出为b
能不能详细解释一下==和equals在做比较时有什么不同?还有就是说equals继承了一个来自java.lang.Object的方法,这是什么意思?
谢谢。