//我是想让当两个文本框都不为空时输出”正确“,其他情况输出“错误”
String id =jfid.getText().trim();
String pwd =new String(jfpwd.getPassword()); //第一种方法
if(!id.equals("")&&!pwd.equals("")){
System.out.println("正确");
}else {
System.out.println("错误");
}
//第二种方法
if(id!=""&&pwd!=""){
System.out.println("正确");
}else {
System.out.println("错误");
}
为什么第二种方法不成立呢我为此捣鼓了一上午,还希望高手指点小弟一二。
String id =jfid.getText().trim();
String pwd =new String(jfpwd.getPassword()); //第一种方法
if(!id.equals("")&&!pwd.equals("")){
System.out.println("正确");
}else {
System.out.println("错误");
}
//第二种方法
if(id!=""&&pwd!=""){
System.out.println("正确");
}else {
System.out.println("错误");
}
为什么第二种方法不成立呢我为此捣鼓了一上午,还希望高手指点小弟一二。
==(!=)比较的是String 的地址 如下代码:
String s1 = new String("abc");
String s2 = new String("abc");
s1 == s2 false
s1.equals(s2) true
==(!=)比较的是String 的地址 如下代码:
String s1 = new String("abc");
String s2 = new String("abc");
s1 == s2 false
s1.equals(s2) true
String s1 = new String("123");
String s2 = new String("123");
System.out.println(s1 == s2);//false!
equals()方法仅比较内容,而==不仅比较内容还比较地址,只有2者全相等才返回true,故比较字符串内容只能用equals()但是在
String s1 = new String("123");
s2 = s1;
System.out.println(s1 == s2);//true
这种情况下==是成立的,因为s1,s2的地址相同。
这样应该对的,
return "不为空";
}