object和equals如何改写成一个长尾词?

2026-04-11 22:471阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1051个文字,预计阅读时间需要5分钟。

object和equals如何改写成一个长尾词?

1. Object详解

1.1==比较细节

1.1.1 例==判断引用类型,判断地址是否相等

代码在com.stulzl.object_包中javapackage com.stulzl.object_;// 判断引用类型,判断地址是否相等public class Object_equals {}

1. Object详解

1.1 == 比较细节 318

object和equals如何改写成一个长尾词?

1.1.1 例 == 判断引用类型,判断地址是否相等 318

代码在com.stulzl.object_.包中

Object_equals

package com.stulzl.object_; //判断引用类型,判断地址是否相等 318 public class Object_equals { public static void main(String[] args) { A a = new A(); A b = a; A c = a; System.out.println(a==c);//true//因为a b c都指向同一块对象对应的地址空间 System.out.println(b==c);//true B bObj = a; System.out.println(bObj==c);//true//同理 } } class B { } class A extends B{ }

1.2 equals相关及查看原码

1.2.1 查看原码 319

1.2.2 equals方法和==的对比 320

代码在com.stulzl.object_equals.包中

Equals

package com.stulzl.object_equals; public class Equals { public static void main(String[] args) { //equals 方法,源码怎么查看. //把光标放在 equals 方法,直接输入 ctrl+b //如果你使用不了. 自己配置. 即可使用. "hello".equals("abc"); //引用类型 Integer integer1 = new Integer(1000); Integer integer2 = new Integer(1000); System.out.println(integer1==integer2);//fasle //判断地址 System.out.println(integer1.equals(integer2));//true//判断内容,因为Integer重写了equals String str1 = new String("lzl"); String str2 = new String("lzl"); System.out.println(str1==str2);//false 判断地址 System.out.println(str1.equals(str2));//true判断内容 因为String重写了equals } }

2.小练习

2.1 自己重写Object的equals方法练习 321

应用实例: 判断两个 Person 对象的内容是否相等,如果两个 Person 对象的各个属性值都一样,则返回 true,反之 false。

代码在com.stulzl.object_equalsexercise01.包中

EqualsExercise

package com.stulzl.object_equalsexercise01; //自己重写Object的equals方法练习 //应用实例: 判断两个 Person 对象的内容是否相等,如果两个 Person 对象的各个属性值都一样, // 则返回 true,反之 false。 public class EqualsExercise { public static void main(String[] args) { Person person1 = new Person("jack", 18, '男'); Person person2 = new Person("jack", 18, '男'); System.out.println(person1.equals(person2));//true } } class Person{ private String name; private int age; private char gender; //重写Object中的equals方法 public boolean equals(Object obj){//obj编译类型Object,运行类型是Person //判断对象是否是一个对象,如果是直接返回true if(this==obj){//这里this指的对象,是谁调用equals方法就是谁 return true; } //判断是否为同Person类,是同Person类才进入比较 各个属性 if(obj instanceof Person){//注:instanceof,是比较运行对象是否为某某的类型或者子类 Person p = (Person)obj;//向下转型,这里把原本是Object类型的obj转成了Person类 return this.name.equals(p.name) && this.age==p.age && this.gender==p.gender; } //如果不是通Person类,直接返回false return false; } public Person(String name, int age, char gender) { this.name = name; this.age = age; this.gender = gender; } 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; } public char getGender() { return gender; } public void setGender(char gender) { this.gender = gender; } }

2.2 练习2 判断输出 322

代码在com.stulzl.object_equalsexercise02.包中

EqualsExercise02

package com.stulzl.object_equalsexercise02; public class EqualsExercise02 { public static void main(String[] args) { Person p1 = new Person(); p1.name="lzl"; Person p2 = new Person(); p2.name ="lzl"; System.out.println(p1==p2);//false//判断的是引用类型,判断地址 System.out.println(p1.name.equals(p1.name));//true,p1.name和p1.name是字符串, // 而字符串已经重写了equals System.out.println(p1.equals(p2));//false//p1,p2是Person类这个equals来自于父类Object String s1 = new String("abc"); String s2 = new String("abc"); System.out.println(s1.equals(s2));//true//字符串类String已经重写了equals System.out.println(s1==s2);//false//引用类型,s1和s2指的不是同一对象即地址不同 } } class Person{ public String name; }

2.3 练习3 判断输出 323

代码在com.stulzl.object_equalsexercise03.包中

EqualsExercise03

package com.stulzl.object_equalsexercise03; //判断输出323 public class EqualsExercise03 { public static void main(String[] args) { int it = 65; float fl = 65.0f; System.out.println("65 和 65.0f 是否相等?" + (it == fl));//T char ch1 = 'A'; char ch2 = 12; System.out.println("65 和‘A’是否相等?" + (it == ch1));//T 字符的本质就是一个数 System.out.println("12 和 ch2 是否相等?"+ (12 == ch2));//T String str1 = new String("hello"); String str2 = new String("hello"); System.out.println("str1 和 str2 是否相等?"+ (str1 == str2)); //F System.out.println("str1 是否 equals str2?"+(str1.equals(str2)));//T //System.out.println("hello" == new java.sql.Date()); //编译错误 } }

本文共计1051个文字,预计阅读时间需要5分钟。

object和equals如何改写成一个长尾词?

1. Object详解

1.1==比较细节

1.1.1 例==判断引用类型,判断地址是否相等

代码在com.stulzl.object_包中javapackage com.stulzl.object_;// 判断引用类型,判断地址是否相等public class Object_equals {}

1. Object详解

1.1 == 比较细节 318

object和equals如何改写成一个长尾词?

1.1.1 例 == 判断引用类型,判断地址是否相等 318

代码在com.stulzl.object_.包中

Object_equals

package com.stulzl.object_; //判断引用类型,判断地址是否相等 318 public class Object_equals { public static void main(String[] args) { A a = new A(); A b = a; A c = a; System.out.println(a==c);//true//因为a b c都指向同一块对象对应的地址空间 System.out.println(b==c);//true B bObj = a; System.out.println(bObj==c);//true//同理 } } class B { } class A extends B{ }

1.2 equals相关及查看原码

1.2.1 查看原码 319

1.2.2 equals方法和==的对比 320

代码在com.stulzl.object_equals.包中

Equals

package com.stulzl.object_equals; public class Equals { public static void main(String[] args) { //equals 方法,源码怎么查看. //把光标放在 equals 方法,直接输入 ctrl+b //如果你使用不了. 自己配置. 即可使用. "hello".equals("abc"); //引用类型 Integer integer1 = new Integer(1000); Integer integer2 = new Integer(1000); System.out.println(integer1==integer2);//fasle //判断地址 System.out.println(integer1.equals(integer2));//true//判断内容,因为Integer重写了equals String str1 = new String("lzl"); String str2 = new String("lzl"); System.out.println(str1==str2);//false 判断地址 System.out.println(str1.equals(str2));//true判断内容 因为String重写了equals } }

2.小练习

2.1 自己重写Object的equals方法练习 321

应用实例: 判断两个 Person 对象的内容是否相等,如果两个 Person 对象的各个属性值都一样,则返回 true,反之 false。

代码在com.stulzl.object_equalsexercise01.包中

EqualsExercise

package com.stulzl.object_equalsexercise01; //自己重写Object的equals方法练习 //应用实例: 判断两个 Person 对象的内容是否相等,如果两个 Person 对象的各个属性值都一样, // 则返回 true,反之 false。 public class EqualsExercise { public static void main(String[] args) { Person person1 = new Person("jack", 18, '男'); Person person2 = new Person("jack", 18, '男'); System.out.println(person1.equals(person2));//true } } class Person{ private String name; private int age; private char gender; //重写Object中的equals方法 public boolean equals(Object obj){//obj编译类型Object,运行类型是Person //判断对象是否是一个对象,如果是直接返回true if(this==obj){//这里this指的对象,是谁调用equals方法就是谁 return true; } //判断是否为同Person类,是同Person类才进入比较 各个属性 if(obj instanceof Person){//注:instanceof,是比较运行对象是否为某某的类型或者子类 Person p = (Person)obj;//向下转型,这里把原本是Object类型的obj转成了Person类 return this.name.equals(p.name) && this.age==p.age && this.gender==p.gender; } //如果不是通Person类,直接返回false return false; } public Person(String name, int age, char gender) { this.name = name; this.age = age; this.gender = gender; } 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; } public char getGender() { return gender; } public void setGender(char gender) { this.gender = gender; } }

2.2 练习2 判断输出 322

代码在com.stulzl.object_equalsexercise02.包中

EqualsExercise02

package com.stulzl.object_equalsexercise02; public class EqualsExercise02 { public static void main(String[] args) { Person p1 = new Person(); p1.name="lzl"; Person p2 = new Person(); p2.name ="lzl"; System.out.println(p1==p2);//false//判断的是引用类型,判断地址 System.out.println(p1.name.equals(p1.name));//true,p1.name和p1.name是字符串, // 而字符串已经重写了equals System.out.println(p1.equals(p2));//false//p1,p2是Person类这个equals来自于父类Object String s1 = new String("abc"); String s2 = new String("abc"); System.out.println(s1.equals(s2));//true//字符串类String已经重写了equals System.out.println(s1==s2);//false//引用类型,s1和s2指的不是同一对象即地址不同 } } class Person{ public String name; }

2.3 练习3 判断输出 323

代码在com.stulzl.object_equalsexercise03.包中

EqualsExercise03

package com.stulzl.object_equalsexercise03; //判断输出323 public class EqualsExercise03 { public static void main(String[] args) { int it = 65; float fl = 65.0f; System.out.println("65 和 65.0f 是否相等?" + (it == fl));//T char ch1 = 'A'; char ch2 = 12; System.out.println("65 和‘A’是否相等?" + (it == ch1));//T 字符的本质就是一个数 System.out.println("12 和 ch2 是否相等?"+ (12 == ch2));//T String str1 = new String("hello"); String str2 = new String("hello"); System.out.println("str1 和 str2 是否相等?"+ (str1 == str2)); //F System.out.println("str1 是否 equals str2?"+(str1.equals(str2)));//T //System.out.println("hello" == new java.sql.Date()); //编译错误 } }