class TestString1
{
public static void main(String [] args)
{
String a="JAVA";
String b="JAVA";
String c=new String("JAVA");
String d="JA";
String e="VA";
String f="JA"+"VA";
String g=d+e;
String h=c;
if(a==b)
System.out.println("a==b");
else
System.out.println("a!=b");
if(a==c)
System.out.println("a==c");
else
System.out.println("a!=c");
if(a==f)
System.out.println("a==f");
else
System.out.println("a!=f");
if(a==g)
System.out.println("a==g");
else
System.out.println("a!=g");
if(c==f)
System.out.println("c==f");
else
System.out.println("c!=f");
if(c==g)
System.out.println("c==g");
else
System.out.println("c!=g");
if(c==h)
System.out.println("c==h");
else
System.out.println("c!=h");
}
}
a=b;
a!=c
a=f;
a!=g;
c!=f;
c!=g;
c=h;
能否讲一下原理,谢谢大家了!
{
public static void main(String [] args)
{
String a="JAVA";
String b="JAVA";
String c=new String("JAVA");
String d="JA";
String e="VA";
String f="JA"+"VA";
String g=d+e;
String h=c;
if(a==b)
System.out.println("a==b");
else
System.out.println("a!=b");
if(a==c)
System.out.println("a==c");
else
System.out.println("a!=c");
if(a==f)
System.out.println("a==f");
else
System.out.println("a!=f");
if(a==g)
System.out.println("a==g");
else
System.out.println("a!=g");
if(c==f)
System.out.println("c==f");
else
System.out.println("c!=f");
if(c==g)
System.out.println("c==g");
else
System.out.println("c!=g");
if(c==h)
System.out.println("c==h");
else
System.out.println("c!=h");
}
}
a=b;
a!=c
a=f;
a!=g;
c!=f;
c!=g;
c=h;
能否讲一下原理,谢谢大家了!
http://blog.csdn.net/f_acme/archive/2006/03/05/615893.aspx
String b="JAVA";
用String声明的是字符串常量,所以a和b是相同的。
运行符"=="主要是判断两个对象是否相同。
这句的意思并不是c=="java"~~而是初始化时调用了有参数的构造函数~~
你问我怎么给分。不知道是csdn出什么毛病了,总是说这个不存在,那个不存在。所以我只有在这里说了。
你点击“管理”,然后就可以分配分了。