java中equals使用方法
展开全部
java中equals使用方法:
equals 方法是String类从它的超类Object中继承的, 被用来检测两个对象是否相等,即两个对象的内容是否相等,区分大小写。
对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。“==”比较两个变量本身的值,即两个对象在内存中的首地址。“equals()”比较字符串中所包含的内容是否相同。 例如:
s1 = new String("abc");
s2 = new String("abc");s1.equals(s2) 是 true
3.对于非字符串变量来说,"=="和"equals"方法的作用是相同的都是用来比较其对象在堆内存的首地址,即用来比较两个引用变量是否指向同一个对象。
class A
{
A obj1 = new A();
A obj2 = new A();
}
obj1.equals(obj2)是false
2018-06-11 · 国内最优秀java资源共享平台
关注
展开全部
1. java中equals使用方法
equals:
操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同,且区分大小写
注: 通过查看源码更加清晰:
public boolean equals(Object anObject) {
//两个变量是否是对同一个对象的引用
*
==用于比较引用和比较基本数据类型时具有不同的功能
if (this == anObject) {
return true;
}
A instanceof B ,返回值为boolean类型,
* 用来判断A是否是B的实例对象或者B子类的实例对象。
* 如果是则返回true,否则返回false
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;
}
2. 案例
equals():比较字符串中所包含的内容是否相同
//这个是内容明显相同
String a = new String("字符串1");
String b= new String("字符串1");
boolean c = a.equals(b);
System.out.println(c);
//内容不同
String a1 = new String("字符串1");
String b1= new String("字符串2");
boolean c2 = a1.equals(b1);
System.out.println(c2);
3."equals"方法的作用是用来比较其对象在堆内存的首地址,即用来比较两个引用变量是否指向同一个对象。
创建一个对象方便测试
class Demo
{
}
//"=="和"equals"方法的作用是相同的都是用来比较其对象在堆内存的首地址,即用来比较两个引用变量是否指向同一个对象。
public class TestDemo {
public static void main(String[] args) {
//实例化对象
Demo obj1 = new Demo();
Demo obj2 = new Demo ();
boolean d = obj1.equals(obj2);
System.out.println(d);
//扩展
//可以通过查看他们的地址值比较
System.out.println(obj1);
System.out.println(obj2);
//明显地址不一致 所以是false
}
}
equals:
操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同,且区分大小写
注: 通过查看源码更加清晰:
public boolean equals(Object anObject) {
//两个变量是否是对同一个对象的引用
*
==用于比较引用和比较基本数据类型时具有不同的功能
if (this == anObject) {
return true;
}
A instanceof B ,返回值为boolean类型,
* 用来判断A是否是B的实例对象或者B子类的实例对象。
* 如果是则返回true,否则返回false
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;
}
2. 案例
equals():比较字符串中所包含的内容是否相同
//这个是内容明显相同
String a = new String("字符串1");
String b= new String("字符串1");
boolean c = a.equals(b);
System.out.println(c);
//内容不同
String a1 = new String("字符串1");
String b1= new String("字符串2");
boolean c2 = a1.equals(b1);
System.out.println(c2);
3."equals"方法的作用是用来比较其对象在堆内存的首地址,即用来比较两个引用变量是否指向同一个对象。
创建一个对象方便测试
class Demo
{
}
//"=="和"equals"方法的作用是相同的都是用来比较其对象在堆内存的首地址,即用来比较两个引用变量是否指向同一个对象。
public class TestDemo {
public static void main(String[] args) {
//实例化对象
Demo obj1 = new Demo();
Demo obj2 = new Demo ();
boolean d = obj1.equals(obj2);
System.out.println(d);
//扩展
//可以通过查看他们的地址值比较
System.out.println(obj1);
System.out.println(obj2);
//明显地址不一致 所以是false
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
equals用于对象之间的比较,代表着不仅值要相等,而且地址也要相等。
String a="11"; String b="11"; 这时 这两个值是相等的。如果String a1 =new String("11");
String b = new String("11");这个时候,这两个值是不相等的。
String a="11"; String b="11"; 这时 这两个值是相等的。如果String a1 =new String("11");
String b = new String("11");这个时候,这两个值是不相等的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
自定义对象,往往要覆盖equals方法,来判断两个对象是否“相等”
如两个学生对象,如果学号相等,就认为是同一个对象。
private int num; //学号
..........
public boolean equals(Student student2){
return this.num == student2.num;
}
如两个学生对象,如果学号相等,就认为是同一个对象。
private int num; //学号
..........
public boolean equals(Student student2){
return this.num == student2.num;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-04-17
展开全部
一般用于字符串对象的比较。比较的是对象的值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询