常用API(Java)
2022/7/4 14:21:32
本文主要是介绍常用API(Java),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
常用API
Object
toString方法
场景:当我们使用toString方法想要输出对象变量时,官方提供的toString方法会直接输出对象所在的地址,而不是我们想要的对象变量,所以我们要把toString方法进行重写。
改写代码:
@Override public String toString() { return "Student{" + "name='" + name + '\'' + ", sex=" + sex + ", age=" + age + '}'; }
调用代码:
public static void main(String[] args) { Student s = new Student("沙雕", '男', 23); String rs = s.toString(); System.out.println(rs); System.out.println(s.toString()); // 直接输出对象变量,默认可以省略toString调用不写的 System.out.println(s); }
equals方法
场景:当我们想要使用equals方法比较集合中两个对象变量是否相等时,使用官方提供的equals方法比较的是两个对象的地址,结果显然为false(比较的对象不是同一个),那么我们需要将equals方法进行重写。
官方代码改写:
/** 定制相等规则。 两个对象的内容一样就认为是相等的 s1.equals(s2) 比较者:s1 == this 被比较者: s2 ==> o */ @Override public boolean equals(Object o) { // 1、判断是否是同一个对象比较,如果是返回true。 if (this == o) return true; // 2、如果o是null返回false 如果o不是学生类型返回false ...Student != ..Pig if (o == null || this.getClass() != o.getClass()) return false; // 3、说明o一定是学生类型而且不为null Student student = (Student) o; return sex == student.sex && age == student.age && Objects.equals(name, student.name); }
自己代码改写:
/** 自己重写equals,自己定制相等规则。 两个对象的内容一样就认为是相等的 s1.equals(s2) 比较者:s1 == this 被比较者: s2 ==> o */ /* @Override public boolean equals(Object o){ // 1、判断o是不是学生类型 if(o instanceof Student){ Student s2 = (Student) o; // 2、判断2个对象的内容是否一样。 // if(this.name.equals(s2.name) && // this.age == s2.age && this.sex == s2.sex){ // return true; // }else { // return false; // } return this.name.equals(s2.name) && this.age == s2.age && this.sex == s2.sex ; }else { // 学生只能和学生比较,否则结果一定是false return false; } }*/
代码调用:
public static void main(String[] args) { Student s1 = new Student("沙雕", '男', 19); Student s2 = new Student("沙雕", '男', 19); // equals默认是比较2个对象的地址是否相同,子类重写后会调用子类重写的来比较内容是否相同。 System.out.println(s1.equals(s2)); System.out.println(s1 == s2); System.out.println(Objects.equals(s1, s2)); }
Objects(JDK 1.7开始才有)
这篇关于常用API(Java)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-22[开源]10.3K+ Star!轻量强大的开源运维平台,超赞!
- 2024-11-21Flutter基础教程:新手入门指南
- 2024-11-21Flutter跨平台教程:新手入门详解
- 2024-11-21Flutter跨平台教程:新手入门与实践指南
- 2024-11-21Flutter列表组件教程:初学者指南
- 2024-11-21Flutter列表组件教程:新手入门指南
- 2024-11-21Flutter入门教程:初学者必看指南
- 2024-11-21Flutter入门教程:从零开始的Flutter开发指南
- 2024-11-21Flutter升级教程:新手必读的升级指南
- 2024-11-21Flutter升级教程:轻松掌握Flutter版本更新