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 和 == 的区别 Java 中的 equals 和 == 是两个不同的概念,很多开发者容易混淆它们。理解这两个概念的区别是非常重要的,因为它们对编程的正确性和性能都有很大的影响。 首先,我们需要了解 Java ...
Java 中 equals 和 == 的区别 Java 中的 equals 和 == 是两个不同的运算符,它们之间的区别是非常重要的。 首先,我们需要了解 Java 中的内存模型。在 Java 中,变量可以分为两种:基本类型(primitive type)和...
Java 中 equals 和 == 的区别 Java 中的 equals 和 == 是两个常用的操作符,经常用于比较对象或变量的值。然而,许多开发者不知道它们之间的区别,或者误用它们,导致程序出错。下面我们将详细解释 equals 和 == 的...
本篇复习将重点讨论String类中的`equals()`方法和`==`运算符的区别,这对于理解对象比较和字符串操作至关重要。 首先,`==`运算符在Java中用于比较基本类型(如int、char)的值,而在比较对象时,它实际上是检查两...
Java 中equals和==的区别
【Java面试题】equals与==的区别
在Java编程语言中,`equals`方法与`==`操作符是进行对象比较时最常用的两种方式,但它们之间存在着显著的区别。理解这些差异对于正确地处理对象比较至关重要。 ### `==` 操作符 `==`操作符主要用于比较两个基本...
java中equals和==的区别-5页.pdf
Java 中的equals和==的区别 Java 是一种面向对象的编程语言,其中有两种数据类型:基本数据类型和引用数据类型。基本数据类型包括整数类型、浮点数类型、字符类型、布尔类型等,共有八种;而引用数据类型则包括 ...
理解`equals()`和`==`的区别对于避免常见的错误至关重要,比如在比较自定义对象时误用`==`而导致预期结果出错。当比较自定义对象时,通常应该重写`equals()`方法,以便比较对象的属性或状态,而不是仅仅比较引用。...
在Java编程语言中,`equals()`方法和`==`运算符是两个经常被用来比较对象是否相等的关键概念。理解它们的区别对于编写出正确、健壮的代码至关重要。 首先,`==`运算符用于基本类型(如int, char, boolean)的比较,...
Java中equals和==的区别 Java是一门面向对象的编程语言,它提供了多种运算符和方法来比较对象和变量。在Java中,比较两个对象是否相等时,经常使用到的运算符有"=="和"equals"。虽然两者都可以用于比较,但它们有着...
在Java编程语言中,`equals()` 和 `==` 运算符在比较对象时有着显著的不同。理解这两者的区别对于编写高效、可靠的代码至关重要。以下是它们的详细解释: 1. **`==` 运算符**: `==` 在Java中主要用于比较基本类型...