严格来说,==始终是比较内容的。
在很多教材上,都说==比较的是内存地址,其实这容易误导。
如:String st1=new String("java");
String st2=new String("java");
在Java中,对象的名称,实际上是一个引用。引用即内存地址。所以对象名里保存的是地址。上面两句代码,可以理解为,String st1=new String("java")这里st1保存的是new的那块内存地址,而st2就是另一块内存地址了,所以用st1==st2得到的为假。
而==呢,是你两边存的是什么,它就比较什么,所以严格来说==比较的仍然是内容。
当然对于int这些基本数据,当然还是比较内容。
虽然Java没有指针,但我们却能感受到指针的影子。
温馨提示:答案为网友推荐,仅供参考