toString()和equals()方法详解
2024-08-21 01:49:49
一:toString()方法
Object中toString方法
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
返回的值: 类名+@+十六位的hashCode值
通常使用的toString()方法是利用重写覆盖Object中的toString()方法,自定义toString方法。
public class Animal {
String name; int age;
//重写的toString()方法,返回的是name和age
@Override
public String toString() {
return "Animal{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
二:equals()方法
Java中 “==” 比较:如果是基本数据类型比较的是值,如果是引用数据类型比较的是地址。
(1)Object中equals方法:
public boolean equals(Object obj) {
return (this == obj);
}
(2)String中重写的equals方法:(比较两字符串的值是否相等)
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
//instanceof表示判断左边的对象是否是右边类或子类的的对象
if (anObject instanceof String) {
String anotherString = (String)anObject;
int n = value.length;
if (n == anotherString.value.length) {
char v1[] = value;
char v2[] = anotherString.value;
int i = 0;
while (n-- != 0) {
if (v1[i] != v2[i])
return false;
i++;
}
return true;
}
}
return false;
}
(3)自定义比较规则,重写equals方法。
最新文章
- C - NP-Hard Problem(二分图判定-染色法)
- oj Rapid Typing
- Model View
- LintCode MinStack
- 清除ASPX页面中的meta:resourceKey=";[a-zA-Z0-9]+";
- 如何清除swap里的文件
- c#调用Aspose.Word组件操作word 插入文字/图片/表格 书签替换套打
- Swift学习(二)
- JS 事件冒泡整理 浏览器的事件流
- Eclipse自动补全功能轻松设置 || 不需要修改编辑任何文件
- error1
- python2.6.6安装MySQL-python模块正确方法
- centos6.5安装配置supervisor
- PyQt4 模拟记事本基本功能(保存,打开文件)
- 什么是A记录 域名
- day11 函数的参数列表
- java编写之jpg图片与base64编码之间的转换
- 了解一下vue源码中vue 的由来
- tomcat-四种运行模式和三种部署模式(优化)
- Android SDK下载和更新失败的如何解决
热门文章
- 进行编译时提示'error: unrecognized command line option ";-std=gnu11";'如何处理?
- python基于redis实现分布式锁
- vue-admin-template 切换回中文
- 【WebSocket】WebSocket快速入门
- 【LeetCode算法-21】Merge Two Sorted Lists
- LeetCode Top Interview Questions
- [LeetCode] 97. Interleaving String 交织相错的字符串
- sshpass命令使用
- 安装hbase分布式集群出现的报错- ERROR:org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
- csp联考T1