在比较对象时候,常常用到 "==" 和 "equals(Object)"。它们常常让初学者感到疑惑。偶曾经初学java时也常常犯这种低级错误,下面给大家一个例子(偶不多作解释了超简单奥!)
import java.lang.reflect.InvocationTargetException;
import org.apache.commons.beanutils.BeanUtils;
public class EqualsDemo {
public static void main(String[] args) {
String s1 = new String("abc");
String s2 = new String("abc");
String s3 = "abc";
String s4 = s3;
String s5 = new String();
try {
/*
* 用beanutil克隆一个对象
*/
BeanUtils.copyProperties(s5, s3);
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("用 == 比较结果");
System.out.println(s1 == s2);// false
System.out.println(s1 == s3);
System.out.println(s4 == s3);
System.out.println(s4 == s5);
System.out.println("用equals(Object) 比较结果");
System.out.println(s1.equals(s2));// true
}
}
分享到:
相关推荐
.equals(Object) 与 == 的区别是 Java 编程语言中一个常见的问题,许多初学者都感到困惑。下面我们将详细地解释这两个概念之间的区别。 首先,让我们看一个例子。假设我们有两个 String 对象 s1 和 s2,它们的内容...
本篇复习将重点讨论String类中的`equals()`方法和`==`运算符的区别,这对于理解对象比较和字符串操作至关重要。 首先,`==`运算符在Java中用于比较基本类型(如int、char)的值,而在比较对象时,它实际上是检查两...
"Java中equals、hashcode和==的区别" Java 中 equals、hashcode 和==的区别是 Java 编程语言中一个经常遇到的问题。这三个概念都是用来比较对象的,但是它们之间存在着本质的区别。 首先,==号是Java中的一个...
Java 中的equals和==的区别 Java 是一种面向对象的编程语言,其中有两种数据类型:基本数据类型和引用数据类型。基本数据类型包括整数类型、浮点数类型、字符类型、布尔类型等,共有八种;而引用数据类型则包括 ...
在Java编程语言中,`equals`方法与`==`操作符是进行对象比较时最常用的两种方式,但它们之间存在着显著的区别。理解这些差异对于正确地处理对象比较至关重要。 ### `==` 操作符 `==`操作符主要用于比较两个基本...
在Java编程语言中,`equals()` 和 `==` 运算符经常被用来比较对象,但它们之间存在着显著的区别。理解这些差异对于编写正确、健壮的代码至关重要。以下是关于 `equals()` 和 `==` 在Java中的详细解释。 首先,`==` ...
【Java基础知识-day01【Object类、常用API】】 在Java编程中,了解和掌握Object类及其常用API是至关重要的,因为所有Java类都间接或直接地继承自Object类。本章将深入探讨Object类的一些核心方法,如toString()和...
### Java中的`==`与`equals`方法的区别详解 在Java编程中,比较对象的相等性是一个常见的需求,但很多初学者对于`==`运算符与`equals`方法的区别容易混淆。本文将深入探讨两者之间的差异,以及它们在不同场景下的...
在Java编程语言中,`==` 和 `equals()` 是两种常用的比较操作符,但它们的用法和含义有所不同。本文将深入探讨这两个概念,并通过实际的代码示例进行测试和解释。 首先,`==` 操作符用于基本类型(如 int、char、...
在Java编程语言中,`equals()` 和 `==` 是两种常用的比较操作,它们在处理不同数据类型时有着明显的区别。`==` 操作符主要用于比较基本类型(如 int, double, char 等)的值是否相等,而对于引用类型(如类实例,如 ...
本文将深入探讨这三个概念的介绍、区别以及它们在Java对象比较中的应用。 首先,`hashCode()`是一个方法,存在于Java的`Object`类中,其目的是为了提供一种快速的哈希算法,将对象映射到一个整数值。这个值通常用于...
"java基础之“==”与“equals”区别详解" 根据java基础之“==”与“equals”区别详解,以下是相关知识点: 1. “==”操作符的作用: 在java中,“==”操作符用于比较两个对象是否相等。对于基本类型来说,“==”...
本文将深入探讨`Object`类,以及其核心方法`equals()`与Java中的`==`操作符之间的差异。 `Object`类位于Java的核心库`java.lang`包中,它提供了基本的方法来支持对象的创建、比较和字符串表示。以下是`Object`类的...
总结来说,理解`equals()`和`==`的区别是Java开发的基本功。`==`用于比较引用或基本类型的值,`equals()`通常用于比较对象的内容,特别是在已经重写该方法的类中。在日常编程实践中,合理运用这两个工具可以提高代码...
而`equals()`方法是Object类中的一个成员方法,它的默认行为也是比较两个对象的引用是否相等,与`==`一致。但是,很多类(如String、Integer等)都重写了`equals()`方法,以便进行更深层次的内容比较。例如,String...
Java 中的 equals 方法是一个比较对象内容的方法,其声明格式是 public boolean equals(Object obj),比较规则为:当参数 obj 引用的对象与当前对象为同一个对象时,就返回 true,否则返回 false。例如: ```java ...
在Java编程语言中,`equals()`方法和`==`运算符是两个经常被用来比较对象的工具,但它们之间存在着显著的区别。理解这些差异对于编写正确的代码至关重要。 首先,`equals()`方法是`java.lang.Object`类的一个成员...