ホームページ Java &#&ベース Javaで等価性を判断する方法

Javaで等価性を判断する方法

Nov 23, 2019 am 09:17 AM
java

Javaで等価性を判断する方法

#Java の基本データ型が等しいかどうかを判断するには、「==」を直接使用します。等しい場合は true を返し、そうでない場合は false を返します。

obj1==obj2 2 つの参照変数 obj1 と obj2 が等しいかどうか、つまり、それらが指すオブジェクトが同じオブジェクトであるかどうかを判断します。つまり、2 つの変数が指すメモリ アドレスが等しい場合にのみ true を返すことができます。各オブジェクトには独自のメモリがあるため、true を返すには同じオブジェクトを指す必要があります。

2 つのオブジェクト (1 つのオブジェクトではなく、2 つのオブジェクトがそれぞれ独自のメモリを持っている) が等しいかどうかのルールをカスタマイズしたい場合は、クラスの equals() メソッドをオーバーライドする必要があります。オブジェクトの定義。equals() メソッドがオーバーライドされていない場合、デフォルトの比較方法は 2 つのオブジェクトが同じオブジェクトであるかどうかを比較します。

Java API では、一部のクラスは、equals() メソッドをオーバーライドします。その比較ルールは次のとおりです:equals メソッドのパラメーターが null でなく、2 つの変数の型と内容が同じである場合にのみ、比較します。結果は真実です。

これらのクラスには、String、Double、Float、Long、Integer、Short、Byte、Boolean、BigDecimal、BigInteger などが含まれます。たくさんありますが、これらは一般的なものです。API で確認できます。詳細については、クラス内の equals() メソッドを見てください。

equals() メソッドを書き換える手順は通常次のとおりです:

1. まず、「==」を使用して、それらが等しいかどうかを判断します。

2.equals() メソッドのパラメータが null かどうかを確認します。null の場合は、現在のオブジェクトを null にすることはできないため、false を返します。null の場合、equals() メソッドを呼び出すことはできません。そうでない場合は、java.lang.NullPointerException 例外がスローされます。

3. パラメータが null でない場合、2 つのオブジェクトのランタイム クラス (getClass() で取得) が等しくない場合は false を返し、そうでない場合は判定を続けます。

4. クラスのメンバーが等しいかどうかを判断します。気軽に遊んでみてください。

例:

public class Dog {
    private int age;
    private String name;
    public Dog(int age,String name){
        this.age=age;
        this.name=name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Override
    public boolean equals(Object obj) {
        if(obj==null){
            return false;
        }
        if(this==obj){
            return true;
        }
        if(obj instanceof Dog){
            Dog dog=(Dog)obj;
            if(dog.age==this.age&&dog.name.equals(this.name)){
                return true;
            }else{
                return false;
            }
        }
        return false;
    }
    public static void main(String[] args){
        Dog dog1=new Dog(12,"wangcai");
        Dog dog2=new Dog(12,"wangcai");
        Dog dog3=new Dog(16,"wangcai");
        System.out.println(dog1.equals(dog2));//true
        System.out.println(dog1.equals(dog3));//false
    }}
ログイン後にコピー

Java の詳細については、Java 基本チュートリアル を参照してください。

以上がJavaで等価性を判断する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Javaの平方根 Javaの平方根 Aug 30, 2024 pm 04:26 PM

Java の平方根のガイド。ここでは、Java で平方根がどのように機能するかを、例とそのコード実装をそれぞれ示して説明します。

Javaの完全数 Javaの完全数 Aug 30, 2024 pm 04:28 PM

Java における完全数のガイド。ここでは、定義、Java で完全数を確認する方法、コード実装の例について説明します。

Javaのアームストロング数 Javaのアームストロング数 Aug 30, 2024 pm 04:26 PM

Java のアームストロング番号に関するガイド。ここでは、Java でのアームストロング数の概要とコードの一部について説明します。

Java の乱数ジェネレーター Java の乱数ジェネレーター Aug 30, 2024 pm 04:27 PM

Java の乱数ジェネレーターのガイド。ここでは、Java の関数について例を挙げて説明し、2 つの異なるジェネレーターについて例を挙げて説明します。

ジャワのウェカ ジャワのウェカ Aug 30, 2024 pm 04:28 PM

Java の Weka へのガイド。ここでは、weka java の概要、使い方、プラットフォームの種類、利点について例を交えて説明します。

Javaのスミス番号 Javaのスミス番号 Aug 30, 2024 pm 04:28 PM

Java のスミス番号のガイド。ここでは定義、Java でスミス番号を確認する方法について説明します。コード実装の例。

Java Springのインタビューの質問 Java Springのインタビューの質問 Aug 30, 2024 pm 04:29 PM

この記事では、Java Spring の面接で最もよく聞かれる質問とその詳細な回答をまとめました。面接を突破できるように。

Java 8 Stream Foreachから休憩または戻ってきますか? Java 8 Stream Foreachから休憩または戻ってきますか? Feb 07, 2025 pm 12:09 PM

Java 8は、Stream APIを導入し、データ収集を処理する強力で表現力のある方法を提供します。ただし、ストリームを使用する際の一般的な質問は次のとおりです。 従来のループにより、早期の中断やリターンが可能になりますが、StreamのForeachメソッドはこの方法を直接サポートしていません。この記事では、理由を説明し、ストリーム処理システムに早期終了を実装するための代替方法を調査します。 さらに読み取り:JavaストリームAPIの改善 ストリームを理解してください Foreachメソッドは、ストリーム内の各要素で1つの操作を実行する端末操作です。その設計意図はです

See all articles