织梦仿非织梦网站软件开发流程管理系统
web/
2025/10/1 14:30:16/
文章来源:
织梦仿非织梦网站,软件开发流程管理系统,优化大师apk,地板网站建设和 equals 在 Java 中有着不同的作用和使用场景#xff1a; 是一个操作符#xff0c;用于比较两个对象的引用是否相同。如果两个对象引用同一个内存地址#xff0c;则 返回 true#xff1b;否则返回 false。在比较基本数据类型时#xff0c; 比较的是它们的值是否相等。… 和 equals 在 Java 中有着不同的作用和使用场景 是一个操作符用于比较两个对象的引用是否相同。如果两个对象引用同一个内存地址则 返回 true否则返回 false。在比较基本数据类型时 比较的是它们的值是否相等。 equals 是一个方法用于比较两个对象的内容是否相等。通常情况下如果类没有重写 equals 方法则 equals 和 的作用是相同的即比较对象的引用是否相同。但是可以通过重写 equals 方法来改变比较的方式使其比较对象的内容而不是引用。在 Object 类中equals 的默认实现就是比较对象的引用。
举个例子
String str1 hello;
String str2 hello;System.out.println(str1 str2); // true因为字符串常量池会确保相同的字符串只有一个实例
System.out.println(str1.equals(str2)); // true因为它们的内容相同String str3 new String(hello);
String str4 new String(hello);System.out.println(str3 str4); // false因为它们是不同的对象实例
System.out.println(str3.equals(str4)); // true因为它们的内容相同StringBuilder sb1 new StringBuilder(hello);
StringBuilder sb2 new StringBuilder(hello);System.out.println(sb1 sb2); // false因为它们是不同的对象实例
System.out.println(sb1.equals(sb2)); // falseStringBuilder 类没有重写 equals 方法Integer num1 100;
Integer num2 100;System.out.println(num1 num2); // true因为对于 Integer 类型-128 到 127 之间的值会被缓存
System.out.println(num1.equals(num2)); // true因为它们的值相同Integer num3 200;
Integer num4 200;System.out.println(num3 num4); // false因为超出了缓存范围会创建新的对象实例
System.out.println(num3.equals(num4)); // true因为它们的值相同
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/85102.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!