`

比较之 equals 与 ==

 
阅读更多

==:
用于 “基本数据类型” 比较 “值”
用于 “引用数据类型” 比较 “内存首地址”
比较的是 栈 内存中的值。

equals:
用于 “未重写(覆盖)了 Object 类中的equals方法的引用数据类型” 将按照Object、
类中的equals方法进行比较,而Object类中的 equals 方法实现仍然是使用 == 号作为
比较的。所以,没有重写 equals 方法的引用类型比较的还是 “引用地址”。
boolean equals(Object o){
return this==o;
}


用于 “重写(覆盖)了 equals 方法的 引用数据类型” 按照方法的实现来进行 比较。
例如:Strng 类,重写了 equals 方法,用于比较 字符串的值是否相等。
========================================================================================================================
贴士(记忆方法二则):

按内存区别记忆:
== 比较栈内存,String类中的equals方法比较堆内存。未重写equals方法的类仍按照 == 比较。
栈内存,比较 基本数据类型 的 值 和 引用类型的 指针。
堆内存,比较 引用数据类型 的 内容。

按含义区别记忆:
== 比较 基本数据类型 的 值 ,比较 引用数据类型 的 指针(引用变量)(内存首地址);
equals String类比较 引用数据类型 的 值 ,比较

分享到:
评论

相关推荐

    java中equals和==的区别

    Java 中 equals 和 == 的区别 ...equals 和 == 是两个不同的概念,equals 比较的是对象的内容,而 == 比较的是对象的地址。在编程中,正确地使用 equals 和 == 是非常重要的,以避免程序中的错误和bug。

    java中equals和==的区别.doc

    equals 运算符可以用于比较两个对象的内容是否相同,而不仅仅是比较它们的引用是否相同。 让我们通过一个简单的示例来说明这两者的区别: public class TestString { public static void main(String[] args) { ...

    equals与==之间的区别

    在Java编程语言中,`equals`方法与`==`操作符是进行对象比较时最常用的两种方式,但它们之间存在着显著的区别。理解这些差异对于正确地处理对象比较至关重要。 ### `==` 操作符 `==`操作符主要用于比较两个基本...

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

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

    java 资料 equals 与== 的区别

    Java 中的equals和==的区别 Java 是一种面向对象的编程语言,...== 运算符比较的是变量的值或内存地址,而 equals 方法比较的是对象的值。在编写 Java 代码时,需要根据具体情况选择使用 == 运算符或 equals 方法。

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

    在Java编程语言中,字符串是比较常见...在阅读给定的"字符串比较之“==”和“equals”"文档时,可以深入学习这些细节,以及它们在不同情况下的应用。通过了解这些基础知识,开发者可以更好地处理和比较Java中的字符串。

    Java基础复习(内附String中equals与==区别的分析)

    本篇复习将重点讨论String类中的`equals()`方法和`==`运算符的区别,这对于理解对象比较和字符串操作至关重要。 首先,`==`运算符在Java中用于比较基本类型(如int、char)的值,而在比较对象时,它实际上是检查两...

    java中equals和==的区别.docx

    Java 中的 equals 和 == 是两个常用的操作符,经常用于比较对象或变量的值。然而,许多开发者不知道它们之间的区别,或者误用它们,导致程序出错。下面我们将详细解释 equals 和 == 的区别,并通过实例代码来加深...

    java中equals()函数的用法 equals和==的区别

    而`equals()`方法是Object类中的一个成员方法,它的默认行为也是比较两个对象的引用是否相等,与`==`一致。但是,很多类(如String、Integer等)都重写了`equals()`方法,以便进行更深层次的内容比较。例如,String...

    Java 中equals和==的区别.doc

    Java 中equals和==的区别

    java中equals和==的比较.pdf

    `equals()` 是Object类的一个方法,它的默认行为是与`==`一样,比较对象的引用。然而,很多类(如String、Integer等)都重写了`equals()`方法,使其比较对象的内容而不是引用。这意味着当调用`equals()`时,实际...

    java中equals和==的区别.

    1. 对于非字符串对象,`equals()`方法默认的行为与`==`相同,即比较对象的引用。但是,通常建议覆盖`equals()`方法以实现根据对象内容进行比较,而不是仅基于引用。 2. 在`String`类中,`equals()`方法已经被重写,...

    java中equals和==的区别.pdf

    equals方法的默认实现是比较两个对象的引用是否相同,这与"=="运算符的功能是一样的。但是,很多Java类都重写了equals方法以提供更加有用的行为。例如,String类就重写了equals方法,以便比较两个字符串的内容是否...

    java中equals和==的区别-5页.pdf

    java中equals和==的区别-5页.pdf

    浅谈Java中的equals和==Java开发Java经验

    默认情况下,`equals()`方法的行为与`==`一样,即比较对象的引用。然而,为了实现更复杂的逻辑,比如比较对象的内容而不是引用,通常需要重写`equals()`方法。例如,String类和许多其他类都重写了`equals()`,使得它...

    ==和equals的区别

    Java 中的 equals 方法是一个比较对象内容的方法,其声明格式是 public boolean equals(Object obj),比较规则为:当参数 obj 引用的对象与当前对象为同一个对象时,就返回 true,否则返回 false。例如: ```java ...

    ==和equals的比较

    C# 中的 == 和 equals 比较 在 C# 编程语言中,`==` 和 `equals` 是两个常用的比较运算符,但它们之间有很大的区别。 堆和栈的区别 在理解 `==` 和 `equals` 之前,我们需要了解堆和栈的区别。堆是一种动态分配的...

Global site tag (gtag.js) - Google Analytics