「java的equals方法」java中equals方法的用法以及==的用法
本篇文章给大家谈谈java的equals方法,以及java中equals方法的用法以及==的用法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java中equals方法详解有哪些?
- 2、java 中String的equals()方法是什么?
- 3、java中的equals
- 4、JAVA中的equal方法的格式和用法?
- 5、JAVA中equals的用法
java中equals方法详解有哪些?
因为你的Value类没有重写equals 方法,这个方法是在Object类中定义的,是可以自己按照需要进行重写的,如果没有重写,其默认的逻辑是比较两个相互equals 的对象的内存地址是不是同一个地址,第一个输出的时候v1,v2都是new出来的,所以v1和v2在堆中是不同的内存地址,所以equals结果为false
第二个输出,其调用的是Integer类的equals,Integer类中有重写原有equals方法的逻辑,其逻辑是比较两个Integer对象中封装的数字的值,如果相同就返回true,因此第二个输出true
第三个输出false原理同第一个,两个对象之间使用==比较的就是内存地址,因为都是new出来的,堆内存地址不同,所以输出false
简单来讲,如果来自同一个类的两个对象,如果没有重写equals方法的逻辑,其==结果和equals结果是相同的,如果有重写equals方法,则==和equals结果可能会不同
java 中String的equals()方法是什么?
java.lang.String.equals() 方法比较字符串与指定的对象。其结果是true当且仅当参数不为null,并且是一个String对象,这个对象表示相同的字符序列
声明
以下是声明java.lang.String.equals()方法
public boolean equals(Object anObject)
参数
anObject -- 这是这个String对比较的对象
返回值
此方法返回true如果给定对象代表一个字符串,这个字符串,否则返回false
异常
NA
实例
下面的例子显示使用的java.lang.String.equals()方法
package com.pieryon;
import java.lang.*;
public class StringDemo {
public static void main(String[] args) {
String str1 = "sachin tendulkar";
String str2 = "amrood admin";
String str3 = "amrood admin";
// checking for equality
boolean retval1 = str2.equals(str1);
boolean retval2 = str2.equals(str3);
// prints the return value
System.out.println("str2 is equal to str1 = " + retval1);
System.out.println("str2 is equal to str3 = " + retval2);
}
}
编译和运行上面的程序,这将产生以下结果:
str2 is equal to str1 = false
str2 is equal to str3 = true
java中的equals
"admin" 这是一个字符串对象~ 是对象自然就是equals 方法
String s ="admin"; 这么写不用我多少你肯定知道这是啥意思
"admin"; 写在这样一样可以通过编译 这里的效果就和 new String("admin"); 是完全一样的
"admin".equals(username) "123".equals(password)
这句话的意思是 username的值必须是 admin password的值必须是123 必须满足这两个条件 才能执行if后边的语句
JAVA中的equal方法的格式和用法?
java中的是equals,没有equal,equals比较的是内容,只要值相同就是true。
如:
String
str
=
new
String("aaa");
String
str1
=
new
String("aaa");
boolean
bl
=
str.equals(str1);
结果就是:true。
备注:但是如果比较的是str==str1,这个结果就是false(地址引用不同)。
JAVA中equals的用法
String类对equals()方法进行了覆盖,只要引用指向的对象的内容是一样的就认为他们相等。你可以看一下String的equals()的源码:
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String anotherString = (String)anObject;
int n = value.length;
if (n == anotherString.value.length) {
char v1[] = value;
char v2[] = anotherString.value;
int i = 0;
while (n-- != 0) {
if (v1[i] != v2[i])
return false;
i++;
}
return true;
}
}
return false;
}
而Object类默认的equals()方法就是比较两个引用指向的对象本身,如果指向同一个对象,那就认为他们是相等的,否则不相等,除非你像String类那样对其进行覆盖重写。
java的equals方法的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java中equals方法的用法以及==的用法、java的equals方法的信息别忘了在本站进行查找喔。
发布于:2022-12-27,除非注明,否则均为
原创文章,转载请注明出处。