equals是object提供的一个方法
equals是用来比较两个基本类型的变量值是否相等,如果用在引用类型中是比较两个变量是否指向同一个对象
在object中equals和==都是比较地址是否相等,而在String中equals则是比较值是否相等
equals比较的是两个对象的内容是否相等,而==比较的是内存中的值是否相等
equals不可以用来比较整型变量
以下是代码实现:
//定义一个Student类 public class Student { private int age; public Student(int age) { this.age = age; } public boolean equals(Object obj) { if(this==obj){ return true; } if(obj instanceof Student){ Student st = (Student)obj; return this.age==st.age; } return false; } }
//定义一个Demo3主类,创建对象输出他们的结果并分析其原因 public class Demo3 { public static void main(String[] args) { Student s1 = new Student(100); Student s2 = new Student(100); Student s3 = s1; System.out.println(s1==s2); System.out.println(s1.equals(s2)); System.out.println(s1.equals(s3)); } }
//定义一个Demo类,分别用几种不同的方式给以下7个变量赋值,分析这几种方式有什么区别 public class Demo { public static void main(String[] args) { // 以下三种方式都是在内存中保存一个数值100 int a1 = 100; int a2 = 100; Integer a3 = 100; Integer a4 = 100; Integer a5 = new Integer(100); Integer a6 = new Integer(100); System.out.println(a1 == a2); System.out.println(a3 == a4); System.out.println(a1 == a3); System.out.println(a5 == a6); System.out.println(a1 == a5); System.out.println(a3 == a5); int a7 = a6;
//定义一个Demo2主类,分别给变量赋值,分别用==和equals输出结果,看有什么不同并分析其原因 public class Demo2 { public static void main(String[] args) { String s1 = "ABC"; String s2 = "ABC"; String s3 = new String("ABC"); String s4 = new String("ABC"); System.out.println(s1 == s2); System.out.println(s3 == s4); System.out.println(s1 == s3); System.out.println("-------------------------"); System.out.println(s1.equals(s2)); System.out.println(s3.equals(s4)); System.out.println(s1.equals(s3)); } }
相关推荐
在Java编程语言中,`equals()` 和 `==` 运算符经常被用来比较对象,但它们之间存在着显著的区别。理解这些差异对于编写正确、健壮的代码至关重要。以下是关于 `equals()` 和 `==` 在Java中的详细解释。 首先,`==` ...
在Java编程语言中,`equals()` 和 `==` 运算符在比较对象时有着显著的不同。理解这两者的区别对于编写高效、可靠的代码至关重要。以下是它们的详细解释: 1. **`==` 运算符**: `==` 在Java中主要用于比较基本类型...
在 Java 编程语言中,`equals()` 和 `==` 是两种常见的用于比较对象的运算符,但在处理字符串时,它们的行为有所不同。本文将详细解释它们的区别,并提供示例进行说明。 1. `equals()` 方法 `equals()` 方法是 ...
总结来说,理解`equals()`和`==`的区别是Java开发的基本功。`==`用于比较引用或基本类型的值,`equals()`通常用于比较对象的内容,特别是在已经重写该方法的类中。在日常编程实践中,合理运用这两个工具可以提高代码...
Java中equals与==的用法和区别 Java 中的 equals 与 == 是两个常用的比较操作符,但是它们的用法和区别却非常重要。理解它们的差异是编写高效、正确的 Java 程序的关键。 什么是 == ? 在 Java 中,== 是一个比较...
Java 中 equals 和 == 的区别 Java 中的 equals 和 == 是两个不同的概念,很多开发者容易混淆它们。理解这两个概念的区别是非常重要的,因为它们对编程的正确性和性能都有很大的影响。 首先,我们需要了解 Java ...