等しいと == の違い
equals は object によって提供されるメソッドです
equals は、2 つの基本型の変数値が等しいかどうかを比較するために使用されます。参照型で使用される場合、2 つの変数が同じオブジェクトを指しているかどうかを比較します。equals と == オブジェクトでは、それらはすべてアドレスが等しいかどうかを比較し、文字列では、equals は値が等しいかどうかを比較します。
equals は、2 つのブロックするオブジェクトの内容が等しいかどうかを比較し、== は、メモリ内の値は等しいです
は等しくありません。整数変数の比較に使用できます
コードの実装は次のとおりです:
//定义一个Student类 public class Student { private int age; public Student(int age) { this.age = age; } public boolean equals(Object obj) { if(this==obj){ return true; } if(obj instanceof Student){ Student st = (Student)obj; return this.age==st.age; } return false; } }
//定义一个Demo3主类,创建对象输出他们的结果并分析其原因 public class Demo3 { public static void main(String[] args) { Student s1 = new Student(100); Student s2 = new Student(100); Student s3 = s1; System.out.println(s1==s2); System.out.println(s1.equals(s2)); System.out.println(s1.equals(s3)); } }
//定义一个Demo类,分别用几种不同的方式给以下7个变量赋值,分析这几种方式有什么区别 public class Demo { public static void main(String[] args) { // 以下三种方式都是在内存中保存一个数值100 int a1 = 100; int a2 = 100; Integer a3 = 100; Integer a4 = 100; Integer a5 = new Integer(100); Integer a6 = new Integer(100); System.out.println(a1 == a2); System.out.println(a3 == a4); System.out.println(a1 == a3); System.out.println(a5 == a6); System.out.println(a1 == a5); System.out.println(a3 == a5); int a7 = a6;
//定义一个Demo2主类,分别给变量赋值,分别用==和equals输出结果,看有什么不同并分析其原因 public class Demo2 { public static void main(String[] args) { String s1 = "ABC"; String s2 = "ABC"; String s3 = new String("ABC"); String s4 = new String("ABC"); System.out.println(s1 == s2); System.out.println(s3 == s4); System.out.println(s1 == s3); System.out.println("-------------------------"); System.out.println(s1.equals(s2)); System.out.println(s3.equals(s4)); System.out.println(s1.equals(s3)); } }

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









一部のアプリケーションが適切に機能しないようにする会社のセキュリティソフトウェアのトラブルシューティングとソリューション。多くの企業は、内部ネットワークセキュリティを確保するためにセキュリティソフトウェアを展開します。 ...

システムドッキングでのフィールドマッピング処理は、システムドッキングを実行する際に難しい問題に遭遇することがよくあります。システムのインターフェイスフィールドを効果的にマッピングする方法A ...

データベース操作にMyBatis-Plusまたはその他のORMフレームワークを使用する場合、エンティティクラスの属性名に基づいてクエリ条件を構築する必要があることがよくあります。あなたが毎回手動で...

intellijideaultimatiateバージョンを使用してスプリングを開始します...

多くのアプリケーションシナリオでソートを実装するために名前を数値に変換するソリューションでは、ユーザーはグループ、特に1つでソートする必要がある場合があります...

Javaオブジェクトと配列の変換:リスクの詳細な議論と鋳造タイプ変換の正しい方法多くのJava初心者は、オブジェクトのアレイへの変換に遭遇します...

名前を数字に変換してグループ内でソートを実装する方法は?ユーザーをグループでソートする場合、ユーザーの名前を数字に変換して、異なる可能性があることがよくあります...

さまざまなアーキテクチャCPUでのJavaプログラムのメモリリーク現象の分析。この記事では、JavaプログラムがARMおよびX86アーキテクチャCPUでさまざまなメモリ動作を示すケースについて説明します...
