例如,String input = …;input.equals(“quit”),此时如果使用==进行比较,就是错误的。如果一个类自身没有定义equals方法,那么它将继承Object类的equals方法,Object类的equals方法的实现代码如下:
boolean equals(Object o){
return this==o;
}
从上面可以看出,如果一个类没有定义自己的equals方法,它从Object 类继承的equals方法就是使用“==”操作符,如果是比较两个变量指向的对象是否是同一对象,使用“==”或者equals会得到相同的结果,如果比较的是两个独立的对象,则会返回false。如果你希望编写的类可以比较该类所创建的两个实例对象的内容是否相同,就需要覆盖equals方法。
“==”操作符可以比较两个变量的值是否相等,也就是比较变量在其所对应的内存中存储的数值是否相同,如果要比较两个引用变量或两个基本类型的数据是否相等,必须使用“==”操作符。
如果一个变量指向对象类型的数据,那么此时就涉及了两块内存,对象本身会占用一块内存,变量也会占用一块内存,比如Objet obj = new Object(),变量obj是一个内存,new Object()是另一个内存。如果要比较两个指向对象类型的变量是否指向同一个对象,即要比较这两个变量所对应的内存中的数值是否相等时,就要用“==”操作符进行比较。











获取报价
销售热线
返回顶部
在线咨询
一键拨打