广西建设厅考试网站首页,企业官网型网站模板下载,丽江古城区建设局网站,网站源码下载 app1. 为运算符#xff0c;equal 为String数据类型的比较方法#xff1b;相同内容的对象地址不一定相同#xff0c;但相相同地址的对象内容一定相同#xff1b; 比较的是值是否相等#xff0c;equal比较的是是否是同一个对象。
2.基本概念不同 1#xff09;对于#xff0c…1. 为运算符equal 为String数据类型的比较方法相同内容的对象地址不一定相同但相相同地址的对象内容一定相同 比较的是值是否相等equal比较的是是否是同一个对象。
2.基本概念不同 1对于比较的是值是否相等 如果作用于基本数据类型的变量则直接比较其存储的 值是否相等 如果作用于引用类型的变量则比较的是所指向的对象的地址是否相等。 其实比较的不管是基本数据类型还是引用数据类型的变量比较的都是值只是引用类型变量存的值是对象的地址 2)对于equals方法比较的是是否是同一个对象 首先equals()方法不能作用于基本数据类型的变量 另外equals()方法存在于Object类中而Object类是所有类的直接或间接父类所以说所有类中的equals()方法都继承自Object类 在没有重写equals()方法的类中调用equals()方法其实和使用的效果一样也是比较的是引用类型的变量所指向的对象的地址 不过Java提供的类中有些类都重写了equals()方法重写后的equals()方法一般都是比较两个对象的值比如String类。 两者的区别 为运算符 equal 为String数据类型的比较方法.equal()
两者的比较范围 一方面是基础数据类型例如 int a 1 与 equal 都是作用于比较对象内容堆是否相同。
另一方面则是引用对象类型例如 int a new int(1) 与 equal 都是作用于比较对象内存地址栈是否相同。 需要注意的是
1.equal在源码中的实现为一下存在形式可以被重写 public boolean equals(Object obj) { return (this obj);} 2.相同内容的对象地址不一定相同但相相同地址的对象内容一定相同。