package day20161009;
public class EqualTest
{
public static void main(String[] args)
{
int it = 65;
float fl = 65.0f;
System.out.println("65和65.0f是否相等?" + (it == fl));
char ch = 'A';
System.out.println("65和'A'是否相等?" + (it == ch));
String str1 = new String("hello");
String str2 = new String("hello");
String a = "abc";
String b = "abc";
System.out.println("a和b是否相等?"+(a == b));
System.out.println("str1和str2是否相等?"
+ (str1 == str2));
System.out.println("str1是否equals str2?"
+ (str1.equals(str2)));
// s1直接引用常量池中的"黑客攻击"
String s1 = "黑客攻击";
String s2 = "黑客";
String s3 = "攻击";
// s4后面的字符串值可以在编译时就确定下来
// s4直接引用常量池中的"黑客攻击"
String s4 = "黑客" + "攻击";
// s5后面的字符串值可以在编译时就确定下来
// s5直接引用常量池中的"黑客攻击"
String s5 = "黑" + "客" + "攻击";
// s6后面的字符串值不能在编译时就确定下来,
// 不能引用常量池中的字符串
String s6 = s2 + s3;
// 使用new调用构造器将会创建一个新的String对象,
// s7引用堆内存中新创建的String对象
String s7 = new String("黑客攻击");
System.out.println(s1 == s4); // 输出true
System.out.println(s1 == s5); // 输出true
System.out.println(s1 == s6); // 输出false
System.out.println(s1 == s7); // 输出false
}
}
/*65和65.0f是否相等?true
65和'A'是否相等?true
a和b是否相等?true
str1和str2是否相等?false
str1是否equals str2?true
true
true
false
false*/
http://cakin24.iteye.com/blog/2329004