search
HomeJavaJavaBaseThe difference between equals and == in java

The difference between equals and == in java

Nov 11, 2019 pm 03:18 PM
==equalsjava

The difference between equals and == in java

The difference between equals and == in java

"==" compares two references in Whether the memory points to the same object (that is, the same memory space), that is, whether the storage locations in the memory space are consistent.

equals, commonly used is whether the contents in the object are equal.

The equals method is provided by the Object class and can be rewritten by subclasses (recommended tutorial: java tutorial)

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

The default implementation will only return true when the object is compared with itself, which is equivalent to "==" at this time.

Many classes in Java (String class, Date class, File class) have rewritten the equals method. Here is the common String class as an example.

public class Test {
    public static void main(String[] args) {
        String num1= "abc";
        String num2= "abc";
        System.out.println(num1==num2);//true
 
        String num3 = new String("abc");
        String num4= new String ("abc");
        System.out.println(num3==mnum4);//false
        System.out.println(num3.equals(num4));//true
    }
}

The equals method in Java language is actually left to developers to override, allowing developers to define what conditions two Objects that meet are equal.

It means that the equals method is exactly the same as "=="; but the equals method can be overridden; in the case of "==", if it is a value type, compare whether the values ​​are equal; if it is a reference type, determine the object address are equal.

The above is the detailed content of The difference between equals and == in java. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Atom editor mac version download

Atom editor mac version download

The most popular open source editor