java中不同类型的变量用equals比较的结果
publicclassX{publicstaticvoidmain(String[]args){Srings1=newString("true");Booleanb1=n...
public class X{
public static void main(String[] args){
Sring s1=new String("true");
Boolean b1=new Boolean(true);
if(s1.equals(b1)){
System.out.println("Equal");}
}}
答案有A.无输出 B输出Equal C第五行出现编译错误 D程序执行后产生异常
为什么选A呢? 展开
public static void main(String[] args){
Sring s1=new String("true");
Boolean b1=new Boolean(true);
if(s1.equals(b1)){
System.out.println("Equal");}
}}
答案有A.无输出 B输出Equal C第五行出现编译错误 D程序执行后产生异常
为什么选A呢? 展开
3个回答
展开全部
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;
}
这是String中equals的实现,b1是Boolean类型的,不是instanceof String,所以返回了false,然后就没有输出了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询