public class datetype{
public static void main(String args[]){
int i=Integer.parseInt("42");
long l=42;
double d=42.0;
String s="42";
if(i==l)
System.out.println("i == l");
else if(i==d)
System.out.println("i==d");
else if(l==i)
System.out.println("l==i");
else if(d==i)
System.out.println("d==i");
else if(s.equals(i))
System.out.println("s==i");
else if(s.equals(d))
System.out.println("s==d");
else if(s.equals(l))
System.out.println("s==l");
else
System.out.println("no");
}
}说说这个程序的运行结果,然后加一点点解释,为什么是这样的结果,谢谢各位了!!!
public static void main(String args[]){
int i=Integer.parseInt("42");
long l=42;
double d=42.0;
String s="42";
if(i==l)
System.out.println("i == l");
else if(i==d)
System.out.println("i==d");
else if(l==i)
System.out.println("l==i");
else if(d==i)
System.out.println("d==i");
else if(s.equals(i))
System.out.println("s==i");
else if(s.equals(d))
System.out.println("s==d");
else if(s.equals(l))
System.out.println("s==l");
else
System.out.println("no");
}
}说说这个程序的运行结果,然后加一点点解释,为什么是这样的结果,谢谢各位了!!!
equals 比较值是否相等
String的equals比较的是内容
equals:这个是String类的方法,比较的是内容!
== 比较引用地址equals 比较的是内容是否一样
for example:String str1 = "abc";//
String str2 = "abc";
String str3 = new String("abc");str1 == str2; //true
str1 == str3; //false
str1.equals(str2); //true
str1.equals(str3); //true
内存分析见这里:http://hi.csdn.net/space-2552431-do-album-picid-426230.html
public static void main(String args[]){
int i=Integer.parseInt("42");
long l=42;
double d=42.0;
String s="42";
String str=new String("42");
if(i==l)
System.out.println("i==l");
else System.out.println("no");
if(i==d)
System.out.println("i==d");
else System.out.println("no");
if(l==i)
System.out.println("l==i");
else System.out.println("no");
if(d==i)
System.out.println("d==i");
else System.out.println("no");
if(s.equals(i))
System.out.println("s==i");
else System.out.println("no");
if(s.equals(d))
System.out.println("s.equals(d)");
else System.out.println("no");
if(s.equals(l))
System.out.println("s.equals(l)");
else System.out.println("no");
if(s.equals(str))
System.out.println("s.equals(str)");
else System.out.println("no");
if(s==str)
System.out.println("s==str");
else System.out.println("no");
}
} 代码重新弄了下,运行结果如下:i==l
i==d
l==i
d==i
no
no
no
s.equals(str)
no
分析如1楼