public class Test {
public static void main(String[] args) {
// String a="11";
// if(a!=null)
// {
// if(a.equals(""))
// System.out.println("等于null1");
// else
// System.out.println("不等于空");
// }
// else
// {
// System.out.println("等于null2");
// }
String a="11";
if(a!=null&&!a.equals(""))
{
System.out.println("不等于空");
}
else
{
System.out.println("等于null");
}
}
}if javaifjava区别
public static void main(String[] args) {
// String a="11";
// if(a!=null)
// {
// if(a.equals(""))
// System.out.println("等于null1");
// else
// System.out.println("不等于空");
// }
// else
// {
// System.out.println("等于null2");
// }
String a="11";
if(a!=null&&!a.equals(""))
{
System.out.println("不等于空");
}
else
{
System.out.println("等于null");
}
}
}if javaifjava区别
解决方案 »
- 加密class文件后spring启动失败的问题(使用ClassFileTransformer解密加密的类)
- 页面错位
- Hibernate问题:QuerySyntaxError: User is not mapped,帮帮忙吧
- jsp javaBean这个错误应该怎么改
- 面试题讨论~~:)
- 如何在applet中执行外部程序??(似乎是个很值得研究的问题)
- 请问那里有(j2ee,jsp)包里的源码下了,高分相送
- 数据库记录改变能否触发程序执行一个操作?
- 【求救】CXF2.4.2+Spring+hibernate整合,启动Tomcat时报错WARNING: Invocation of destroy method
- 使用s:iterator遍历嵌套list,EL表达式出错,s:property可以输出
- 如何设置JVM堆内存
- spring事物配置出错
if (a != null && !"".equals(a)) {
System.out.println("不等于空");
} else {
System.out.println("等于null");
}
比如声明一个 String str ;
如果说str是null,那么内存根本没创建字符串对象,并由str引用。
如果说str是"",那么确实存在一个由str引用的字符串对象,只不过这个字符串的值是""
,是一个空串。
所以第一个例子是正确的,第二个是错误的。但是,第一个中,System.out.println("等于null1");
System.out.println("等于null2");
null1和null2这个地方就错了。
第一String a="11";//这行代码已经声明了a这个字符串变量,所以a就不可能为NULL,如果a这个字符串是你由参数传递过来的可以进行a是否为NULL的判断。
你第二种算法更快。
String a;1 a=null;
2 a="";
3 a="a"//任意内容。楼主的第一个方法能分辨出具体 a 是什么。而第二重情况只判断把1,2看成一种情况。无法具体判断是null还是"".
B、a="";
C、a=某某你的第二个代码中的if里面是表示C,else表示B、C
两种方式差不多,你想问的是什么区别???效率还是什么??