package po;
import org.apache.commons.httpclient.UsernamePasswordCredentials;
import org.omg.CORBA.PUBLIC_MEMBER;
public class Text {
public static void main(String[] args) {
String s = "";
String ss = new String();
if(s == ss) { //false
System.out.println("111");
}
if(s == "") { //ture
System.out.println("222");
}
if(ss == "") { //false
System.out.println("333");
}
if(ss.equals("")) { //true
System.out.println("444");
}
//当一个项目中为了解决get提交乱码问题 使用String对象转码时就会出现问题
String string = new String(request.getParameter("username").getBytes("ISO-8859-1"),"GBK");
//比如你之前是这样判断的
String username = "";
if(username == "") {
System.out.println("这句话会执行!");
}
//但是你new String()的时候
String username = new String(request.getParameter("username").getBytes("ISO-8859-1"),"GBK");
if(username == "") {
System.out.println("这句话不会执行!");
}
if(username.equals("")) {
System.out.println("这句话会执行!");
}
}
}
故 最后给出意见,不管是String s = ""; 还是String s = new String();判断是否为空都一律用if(s.equals(""))判断