常见对象_Object类的equals()方法
来源:互联网 发布:知乎 邮箱 查看 编辑:程序博客网 时间:2024/06/09 15:56
package cn.itcast_03;public class Student {private String name;private int age;public Student() {super();}public Student(String name, int age) {super();this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic boolean equals(Object obj) {// return true;//这里要改进,根据这里比较的成员变量来决定返回true还是false//这里其实要比较的就是name和age//但是,name是String类型的,而String是引用类型的,所以在这里不能直接用==比较,应该用equals()比较//String的equals()方法是重写自Object类的,比较的是字符串的内容是否相同。//this--s1//obj--s2//我们要使用的是学生类的特有成员变量,所以要向下转型Student s = (Student)obj;//s -- obj -- s2if(this.name.equals(s.name) && this.age == s.age){return true;}else{return false;}}}
package cn.itcast_03;/* * public boolean equals(Object obj):指示其他某个对象是否与此对象“相等”。 * 这个方法,默认情况下比较的是地址值。比较地址值一般来说意义不大,所以我们要重写该方法。 * 怎么重写呢? * 一般都是用来比较对象的成员变量值是否相同。 * * 看源码: * public boolean equals(Object obj) { *//this - s1 *//obj - s2 *return (this == obj); * } * * ==: * 基本类型:比较的就是值是否相同 * 引用类型:比较的就是地址值是否相同 */public class StudentDemo {public static void main(String[] args) {Student s1 = new Student("王亮", 22);Student s2 = new Student("王亮", 22);System.out.println(s1 == s2);// falseStudent s3 = s1;System.out.println(s1 == s3);// trueSystem.out.println("-------------------");System.out.println(s1.equals(s2));// obj = s2 //trueSystem.out.println(s1.equals(s1));//trueSystem.out.println(s1.equals(s3));//trueStudent s4 = new Student("风清杨",30);System.out.println(s1.equals(s4));//false}}
0 0
- 常见对象_Object类的equals()方法
- 常见对象_常见对象_Object类的equals()方法
- 常见对象_Object类的finalize()方法和clone()方法
- 常见对象_Object类的概述、hashCode()方法、getClass()方法、toString()方法
- 36_Object类之equals方法
- 40_面向对象_13_继承_Object类用法_toString和equals方法_重写toString
- java学习之旅40--面向对象_13_继承_Object类用法_toString和equals方法_重写toString
- 黑马程序员_object类以及常见异常
- 【面向对象(高级)】_Object类笔记
- 【面向对象(高级)】_Object类笔记
- 34_Object类之toString方法.avi -
- java类对象进行equals比较的方法
- equals方法--对象类Object中的方法
- 黑马程序员_object c学习日记②_@property和@synthesize、构造方法、分类及类对象
- JS 中对象equals方法的实现
- java对象equals方法的重写
- java对象equals方法的重写
- java对象equals方法的重写
- Unix下的一些傻瓜问题
- GoogLeNet
- IOS-性能优化/内存优化常用方法小总结
- Mybatis的ResultMap的使用
- 杂花生树(十九)
- 常见对象_Object类的equals()方法
- 远隔天涯
- V4L2(一)框架浅析
- Bootstrap组件学习之导航和导航条
- POJ3629-Kindergarten
- Android 实现个性的ViewPager切换动画 实战PageTransformer(兼容Android3.0以下)
- 基础篇章:关于 React Native 的props,state,style的讲解
- 跟着大神好好学习
- Struts2中struts.multipart.maxSize设置