Java中“==”和equals()方法
2024-10-19 00:25:20
这是在Thinking in Java中看到的。
第一个程序
public class Exponents {
public static void main(String []args){
Integer n1=new Integer(47);
Integer n2=new Integer(47);
System.out.println(n1==n2);
System.out.println(n1!=n2);
}
}
输出结果:
false
true
Java中声明的类对象都是引用,n1、n2的内容相同,但两者指向不同的存储位置。
第二个程序
public class Exponents {
public static void main(String []args){
Integer n1=new Integer(47);
Integer n2=new Integer(47);
System.out.println(n1.equals(n2));
} }
输出结果:true
equals()方法默认的行为是比较引用。但大多数Java类库都实现了equals方法用来比较对象的内容,而非比较对象的引用。
第三个程序:
class Value{
int i;
}
public class Exponents {
public static void main(String []args){
Value v1=new Value();
Value v2=new Value();
v1.i=v2.i=100;
System.out.println(v1.equals(v2));
} }
输出结果:false
自己定义的类,需要覆盖equals()方法。
最新文章
- Backbone源码学习之extend
- golang 字符串操作实例
- 理解JS回调函数
- debian之samba服务器搭建
- MySQL数据库学习笔记(三)----基本的SQL语句
- Linux下缓冲区溢出攻击的原理及对策(转载)
- android 内存溢出问题分析
- 微软官方的一段JavaScript判断.net环境
- oc-04-类的声明和实现
- CentOS+Nginx+PHP+MySQL详细配置(图解)
- 突然想写点东西,关于web新人的。采用问答方式
- ZOJ 3734	 LIKE vs CANDLE
- Js常用的函数
- Typescript学习
- JavaScript 系列博客(六)
- Elasticsearch 中数据类型 text 与 keyword 的区别
- MAC下代理工具Charles使用
- Java编程的逻辑 (60) - 随机读写文件及其应用 - 实现一个简单的KV数据库
- [NOIp2009] $Hankson$の趣味题
- WebLogic Operator初试
热门文章
- MEF初体验之四:Imports声明
- hibernate 双向n-n
- 原生js 样式的操作整理
- SAP HANA开发中常见问题- 基于SAP HANA平台的多团队产品研发
- 利用System.Net.Mail 的SmtpClient发送邮件
- What is WCF
- cocos2d0基础知识三个音符
- (Chrome42)Lodop总计页面提示“未安装”要么“请升级”可能的原因和解决方案
- HDOJ 5017 Ellipsoid
- 从头开始学JavaScript (四)——操作符