Heim > Java > JavaBase > Hauptteil

Sie müssen den Unterschied zwischen „==' und equal() in Java kennen

coldplay.xixi
Freigeben: 2021-01-18 17:20:37
nach vorne
2709 Leute haben es durchsucht

Heute besprechen wir den Unterschied zwischen „==" und equal() in Java

Sie müssen den Unterschied zwischen „==' und equal() in Java kennen

Empfohlenes Lernen: Java-Grundlagen

==: relationaler Operator

   在基本数据类型中比较两个值的内容是否相等
   
   在引用类型型中比较的是两个对象的地址是否相等
Nach dem Login kopieren

equal() ist die spezifische Verwendung der Methode equals()是Object类中的方法

1.基本数据类型无法使用equals()方法

2.在引用类型中若是没有重写Object类时,则默认使用Object类的equals方法,则仍然
利用“==”比较两个对象的内存地址,若是重写Object类的equals方法,则调用子类重写后		  
的方法可以进行内容或值的比较

例如字符串中,equals()方法重写Object类的equals()方法,从而可以直接比较字符串的
内容。(可以自行观察字符串equals()源代码,此处不细讲)
Nach dem Login kopieren

"=="的具体用法,代码如下:

package Test01;//"=="的具体实例public class Demo02 {
	public static void main(String[] args) {
		int a1=10;
		int a2=10;
		String str1=new String("aaa");  //在堆中开辟了新的空间,从而内存地址不相等
		String str2=new String("aaa");
		//比较基本数据类型
		System.out.println(a1==a2);
		//引用数据类型
		System.out.println(str1==str2);
	}}
Nach dem Login kopieren

结果:
Sie müssen den Unterschied zwischen „== und equal() in Java kennen


equals的用法,代码如下:
1、创建一个对象,调用Object类的equals()方法,比较内存地址

package Test01;//equals()的具体实现package Test01;//Object类的equals()方法public class Demo02{
	public static void main(String[] args) {
		Demo03 demo=new Demo03("aaa");
		Demo03 demo1=new Demo03("aaa");
		System.out.println(demo.equals(demo1));
		
	}}class Demo03 {
	public String str;
	public Demo03(String str){
		this.str=str;
	}
	public String getStr() {
		return str;
	}}
Nach dem Login kopieren

结果为:
Sie müssen den Unterschied zwischen „== und equal() in Java kennen
2、例如字符串中,equals()方法重写Object类的equals()方法,从而可以直接比较字符串的内容。

package Test01;//equals()的在字符串中的方法重写public class Demo02{
	public static void main(String[] args) {
		String str1=new String("aaa");
		String str2=new String("aaa");
		System.out.println(str1.equals(str2));
	}}
Nach dem Login kopieren

结果为:
Sie müssen den Unterschied zwischen „== und equal() in Java kennen
总结:

1、"=="在基本数据类型中比较值,在引用类型中比较内存地址

2、equals()rrreee
"==" in der Object-Klasse. Der Code lautet wie folgt:
rrreee

Ergebnis:

Bildbeschreibung hier einfügen


entspricht der Verwendung, der Code lautet wie folgt:

1. Erstellen Sie ein Objekt Rufen Sie die Methode „equals()“ der Objektklasse auf und vergleichen Sie die Speicheradresse. Das Ergebnis ist: .png" alt="at Bildbeschreibung hier einfügen "/> 2. In Zeichenfolgen überschreibt beispielsweise die Methode equals() die Methode equal() der Object-Klasse, sodass der Inhalt der Strings können direkt verglichen werden. rrreeeDas Ergebnis ist: Bildbeschreibung hier einfügen Zusammenfassung:

1. „==" vergleicht Werte in Basisdatentypen und vergleicht Speicheradressen in Referenztypen
🎜2. equals() kann nicht in Basisdatentypen verwendet werden Typen: Wenn Objekte direkt verglichen werden, wird die Methode equal() in der Klasse Object aufgerufen. Wenn Sie Inhalte vergleichen möchten, können Sie die Methode equal() der Klasse Object überschreiben. 🎜 (equals() Methode der String-Klasse)🎜🎜Heute möchte ich mit Ihnen teilen. Wenn es Fehler gibt, korrigieren Sie mich bitte, danke🎜🎜🎜🎜Verwandte kostenlose Lernempfehlungen: 🎜🎜🎜Java-Grundlagen-Tutorial🎜 🎜🎜🎜

Das obige ist der detaillierte Inhalt vonSie müssen den Unterschied zwischen „==' und equal() in Java kennen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage