`

Java 中的“==”和equals()方法区别

阅读更多

1、“==”

 

    1)用于比较两个基本数据类型数据是否相等,比较的是内存中存储的值是否相等。

    如:int a=100;

           int b=100;

    则a==b结果为true。

 

    2)用于判断两个引用变量是否指向同一对象。

    如:String a="abc";

           b=a;

    则a==b结果为true。

    另外:String a="abc";

              String b="abc";

    则a==b结果依然为true。(指向字符串常量池中的同一个对象)

 

2、equals()方法

 

    1)用于比较两个引用变量指向的对象值是否相等。

    如:String a=new String("abc");

           String b=new String("abc");

    则a==b结果为false,a.equals(b)结果为true。

 

    2)对于自定义的类,默认会继承Object对象的equals()方法,代码如下:

public boolean equals(Object o){
	return this==o;
}

    结论:

    a)如果自定义类没有覆写Object的equals()方法,则使用equals()的效果和使用“==”一样,即比较两个引用变量是否指向同一个对象。

    b)如果想比较自定义类的两个对象是否相等,则需要覆盖Object的equals()方法,定义自己的比较规则。

    比如:

public class Person{
	private String name;
        public void setName(String name){
		this.name=name;
	}
	public String getName(){
		return name;
	}
	public boolean equals(Object obj){
		if(this==obj){
			return true;
		}
		Person p=(Person)obj;
		return p.getName().equals(this.name); 
	}
}

 

分享到:
评论

相关推荐

    Java中的==和equals区别

    ### Java中的`==`与`equals`方法的区别详解 在Java编程中,比较对象的相等性是一个常见的需求,但很多初学者对于`==`运算符与`equals`方法的区别容易混淆。本文将深入探讨两者之间的差异,以及它们在不同场景下的...

    java中equals和==的区别

    Java 中 equals 和 == 的区别 Java 中的 equals 和 == 是两个不同的概念,很多开发者容易混淆它们。理解这两个概念的区别是非常重要的,因为它们对编程的正确性和性能都有很大的影响。 首先,我们需要了解 Java ...

    java中的==和equals()方法1

    在Java编程语言中,了解如何正确使用`==`和`equals()`方法是非常关键的,因为它们在比较对象和基本类型时有不同的行为。下面将详细解释这两个方法的工作原理、使用场景以及一些常见误区。 首先,`==`运算符主要用于...

    ==和equals的区别

    Java 中的 == 和 equals 方法的区别 在 Java 中,比较值大小有两种方法:== 和 equals,这两个方法的使用场景和比较规则不同,下面我们将详细探讨它们的区别。 基本数据类型和引用数据类型 在 Java 中,有两种...

    ==和equals方法究竟有什么区别

    在Java编程语言中,`==`和`equals()`方法是用来比较对象之间关系的两种常见方式,但它们在使用上有着显著的区别。 首先,`==`运算符主要用于比较基本类型(如int、char、byte等)的值是否相等,或者比较引用类型...

    java基础之 “==”与“equals”区别详解

    在java基础开发中,“==”操作符和equals()方法是非常重要的比较操作符。正确地使用“==”操作符和equals()方法可以避免许多错误,提高程序的稳定性和可靠性。 9. java基础之“==”与equals()的应用场景: java基础...

    java中==和equals的区别

    对于开发的程序员小伙伴,大家肯定对于==和equals不陌生,而且会经常用到他,那么又有几个能够说清楚了==和equals是怎么回事呢?他了呢两个有什么区别呢? 比较 == 比较的是栈中的值,基本数据类型是变量值,引用...

    ==与equals的比较

    "Java中的==和equals方法比较" 在Java中,`==`和`equals`是两种不同的比较方法,前者比较引用地址,而后者比较对象的实际内容。 首先,让我们来看看`==`运算符的用法。`==`运算符可以用来比较基本数据类型和引用...

    Java中==运算符与equals方法的区别及intern方法详解

    ==运算符、equals方法和intern方法都是Java中的重要概念,它们之间的区别和联系是Java程序设计语言中的一個非常重要的知识点。 知识点: 1. ==运算符:比较两个对象是否是同一个对象。 2. equals方法:比较两个...

    java中equals和==的区别.doc

    Java 中 equals 和 == 的区别 Java 中的 equals 和 == 是两个不同的运算符,它们之间的区别是非常重要的。 首先,我们需要了解 Java 中的内存模型。在 Java 中,变量可以分为两种:基本类型(primitive type)和...

    简单介绍java中的“==”和equals

    简单介绍java中的“==”和equals

    浅谈java 中equals和==的区别

    在Java编程语言中,`equals()` 和 `==` 运算符经常被用来比较对象,但它们之间存在着显著的区别。理解这些差异对于编写正确、健壮的代码至关重要。以下是关于 `equals()` 和 `==` 在Java中的详细解释。 首先,`==` ...

    3 Java中关于==和equal的区别 以及equals()方法重写

    Java 中关于 == 和 equal 的区别 及其 equals() 方法重写 Java 语言是 Sun 公司的开发成果,其主要特点是可以执行强,与平台的无关性使其实用性更强。但是 Java 中的 == 与 equal 是有区别的。 == 操作符是 Java ...

    Java中==与equals的区别小结

    在Java编程语言中,了解`==`和`equals()`的区别是非常重要的,这涉及到对基本类型和对象的正确比较。下面我们将详细探讨这两个操作符的工作原理及其在不同情况下的使用。 首先,`==`操作符主要用于比较基本类型的...

    浅谈java中==以及equals方法的用法

    本文将详细介绍 Java 中 == 和 equals 方法的用法、区别和应用场景。 一、== 操作符 在 Java 中,== 操作符主要用于比较两个对象的内存地址是否相同,即比较两个对象的引用是否相同。如果两个对象的内存地址相同...

    【Java面试题】equals与==的区别

    【Java面试题】equals与==的区别

    java中的比较运算符== 与 equals()方法 ..doc

    在Java编程语言中,经常需要对变量进行比较,这涉及到了两种常见的比较方式:`==`运算符和`equals()`方法。这两种方式有着本质的区别,并且适用于不同类型的数据。下面将详细介绍这两者之间的差异以及它们各自的应用...

    java中==与equal()区别

    Java 中的 == 和 equals() 是两个不同的比较方法,它们之间有着很大的区别。== 操作符专门用来比较两个变量的值是否相等,也就是比较变量所对应的内存中所存储的数值是否相同。用于比较两个基本类型的数据或两个引用...

    字符串比较之 “==”和 “equals”

    "=="和"equals()"是两种常用的字符串比较方法,但它们之间存在一定的区别和使用场景。这篇博客将深入探讨这两个方法的工作原理以及何时应该使用它们。 首先,"=="运算符在Java中主要用于比较基本类型变量的值,如...

Global site tag (gtag.js) - Google Analytics