JAVA认证开源技术:关于Java的对象equals方法
在学习JAVA/" target="_blank" >JAVA认证过程中,每个人会遇到每个人不同的问题,或小或大,下面yjbys小编为大家分享的是关于Java的对象equals方法,希望对大家学习JAVA有帮助!
不是所有的equals都是比较整个对象的。
#1.普通Object类:
先看源码:
public boolean equals(Object obj) {
return (this == obj);
}
看到了没,用"==",比较的是对象引用,也就是地址。假如两个对象传入的参数一样,但是都用new去创建,地址就不同了,那么用equals返回的'就是false.
#ng类:
先看源码:
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String anotherString = (String)anObject;
int n = count;
if (n == t) {
char v1[] = value;
char v2[] = e;
int i = offset;
int j = et;
while (n-- != 0) {
if (v1[i++] != v2[j++])
return false;
}
return true;
}
}
return false;
}
比较的是内容,所以只要内容一样,用new去创建的两个String对象,调用equals返回true.
#ger类
先看源码:
public boolean equals(Object obj) {
if (obj instanceof Integer) {
return value == ((Integer)obj)。intValue();
}
return false;
}
一样是比较内容。
-
Java考试格林模拟题
question14)whichofthefollowinglinesofcodewillcompilewithouterror1)inti=0;if(i){tln("hello");}2)booleanb=true;booleanb2=true;if(b==b2){tln("sotrue");}3)inti=1;intj=2;if(i==1||j==2)tln("ok");4)inti=1;intj=2;if(i==1&|j==2)tln("ok");questio...
-
高级Java面试题及答案2016
java高级面试有哪些常见问题呢?下面yjbys为大家分享最新java常见面试题及答案解析,仅供参考!什么是可变参数?可变参数允许调用参数数量不同的方法。请看下面例子中的求和方法。此方法可以调用1个int参数,或2个int参数,或多个int参数。//int(type)followed...(thre...
-
Java学习如何走出第一步
Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。下面是小编整理的关于Java学习如何走出第一步,欢迎大家参考!Java开发平台的种类很多,在这篇文章中我主要以J2SE为例子。J2SE几乎是开发所有Java应用...
-
二级Java试题精选(附答案)
1、结构化程序设计主要强调的是______。A、程序的规模B、程序的易读性C、程序的执行效率D、程序的可移植性结构化程序设计主要强调的是结构化程序清晰易读,可理解性好,程序员能够进行逐步求精、程序证明和测试,以保证程序的正确性。本题答案为B。2、数据库设计包...