判断空 放在前好还是后好 Stirng s;if(s == null || s.equals("")) 和 if(null == s || "".equals(s)) 我喜欢用前一种方式 也看到有人用后一种 不知道那个好 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这两个条件放一起,就无所谓,单独的话,有点说道。s == null 和 null == s基本没有区别。单独运行s.equals("")和"".equals(s)时,如果s=null,s.equals("")会抛异常,而"".equals(s)不会。 s == null 和 null == s基本没有区别s=null,s.equals("")会抛异常,而"".equals(s)不会 if(null == s || "".equals(s)) 防止 在if语句中写成 s = null 4楼说的很明确了s == null 和 null == s没有区别。单独运行s.equals("")和"".equals(s)时,如果s=null,s.equals("")会抛异常,而"".equals(s)不会。 LZ說的問題大家沒看明白嗎?為什麽要拆分開來解釋?有意思嗎?lz問的是放在一起有沒有區別,而不是大家想的會報NUllPointer,lz不傻。 如果只是判断是否为"",那么后面的写法更好,这样防止s为空的时候出现异常。不过你这个的话就没必要的,因为前面已经判断是否为null了。所以后面的不会出现异常什么的。 根据条件选择,||为第一个条件如果为true那么就不会去判断第二个条件。所以说,如果对判断结果的概率有一定的估计,那么可以把经常为true的放前面比较好。 效果一样。放在前面只是为了防止写成 obj=null null == s这样写主要是为了防止写成null=s而犯的错误 学习了,这些东东平时在开发中真的不怎么注意,按照习惯来写,如果是判断是否为空s== null && s.trim().length() == 0. null == s 好,因为不小心会写成s = null。。 这不光是习惯的问题啊,前面的写法是有潜在错误的,Stirng s;if(s == null || s.equals("")),s为null的时候, s.equals("")会跑出空指针异常。所以要后面那种写法。 s == null 就不走后面的s.equals("")了,又如何能抛出空指针? if( s==null || "".equals(s)) 這種最後 因為習慣了 后者更好。可以防止空指针。推荐使用StringUtils.isNotBlank(String str)。需要导入common-utils.jar 一般是为了判断等值的时候,比如:if ("condition1".equals(s)) { ......} else if ("condition2".equals(s)) { ......} else if ("condition3".equals(s)) { ......} else { throw new Exception("错误操作");}这样呢,避免了关于null的判断对于你的这条语句,采用哪个都差不多。 String 的问题在 CSDN 比月经还要月经一些问题翻着花样问来问去! 楼主:根据你这个问题,我们做一个分析,分析好了!你看看你采用前一种还是后一种,第一种:if(s==null || s.equals("")) 这个,首先我们来确定一下,如果你在s==null的时候,一步小心,把“==”写成了“=”的话,你想它什么?现在编译工具还好,在编译的时候就提示。此处判断的boolean类型的值,如果有些工具,他没在你编译的时候提示你这样写不行的话,在你编译好了!在提示你!那你岂不是很悲剧,还s.equals("")这句,这种写好,我不推荐你!因为,当你s为null话,你在去调用equals这个方法,肯定会报空指针异常的,null是没有equals方法的。第二种:if(null == s || "".equals(s)) null 放在前面有一个好处就是jvm在解析的时候,第一点,它已经明确的知道,你需要判断的null值,也就不用去关心你s是不是null引用了!它只关心,你是null就行了, "" 放在equals 前面,很大程度上防止了!空指针的异常发生! “null == s”这个好。因为不会因为写错而出现问题。 不会答的就不要乱答。楼主听我的。空值放在前面。其实只要你自己写个小的程序debug就明白其中的道理。所谓师傅领进门,修行靠个人。一切靠你自己。 StringUtil.isNil(arg0)用这个 是不是不用做两个判断了 俺都是用工具类里的方法。比如apache的啥xixi s.equals("")这种前后位置没什么关系,null == s主要是这种,,如果写成s=null,,,当你执行程序的时候,如果s本身就为null,那么这时候会报一个空指针的错误,,所以还是推荐null == s 后面一种方法好if(null == s)因为s是传递过来的参数要是s直接传递过来的是空等等一些未知的不合法那么式子会报错所以建议使用后面一种方法 标红部分我不知道该引如哪个包 有很多 如何选择啊 jsp利用组件上传图片 Java 购物车 Java中有类似C++中listctrl的类吗? session 不失效 往mysql插入数据报的错,谁能告诉帮忙解释一下可能是什么问题 java 数据库时间处理:求助 stuts 与servlet性能问题疑惑. JAVA基础问题(一) 简单的linux问题 Appfuse中一个非常大的问题.org.dbunit.dataset.NoSuchTableException: user_role至今我还没看到一个非常明确的解决的方法. java 环境变量配置问题
s == null 和 null == s基本没有区别。
单独运行s.equals("")和"".equals(s)时,如果s=null,s.equals("")会抛异常,而"".equals(s)不会。
防止 在if语句中写成 s = null
单独运行s.equals("")和"".equals(s)时,如果s=null,s.equals("")会抛异常,而"".equals(s)不会。
不过你这个的话就没必要的,因为前面已经判断是否为null了。
所以后面的不会出现异常什么的。
所以说,如果对判断结果的概率有一定的估计,那么可以把经常为true的放前面比较好。
因为不小心会写成s = null。。
Stirng s;
if(s == null || s.equals("")),s为null的时候, s.equals("")会跑出空指针异常。
所以要后面那种写法。
s == null 就不走后面的s.equals("")了,又如何能抛出空指针?
這種最後 因為習慣了
推荐使用StringUtils.isNotBlank(String str)。需要导入common-utils.jar
......
} else if ("condition2".equals(s)) {
......
} else if ("condition3".equals(s)) {
......
} else {
throw new Exception("错误操作");
}这样呢,避免了关于null的判断对于你的这条语句,采用哪个都差不多。
楼主:根据你这个问题,我们做一个分析,分析好了!你看看你采用前一种还是后一种,第一种:if(s==null || s.equals("")) 这个,首先我们来确定一下,如果你在s==null的时候,一步小心,把“==”写成了“=”的话,你想它什么?现在编译工具还好,在编译的时候就提示。此处判断的boolean类型的值,如果有些工具,他没在你编译的时候提示你这样写不行的话,在你编译好了!在提示你!那你岂不是很悲剧,还s.equals("")这句,这种写好,我不推荐你!因为,当你s为null话,你在去调用equals这个方法,肯定会报空指针异常的,null是没有equals方法的。第二种:if(null == s || "".equals(s)) null 放在前面有一个好处就是jvm在解析的时候,第一点,它已经明确的知道,你需要判断的null值,也就不用去关心你s是不是null引用了!它只关心,你是null就行了, "" 放在equals 前面,很大程度上防止了!空指针的异常发生!
null == s主要是这种,,如果写成s=null,,,当你执行程序的时候,如果s本身就为null,那么这时候会报一个空指针的错误,,所以还是推荐null == s
if(null == s)
因为s是传递过来的参数
要是s直接传递过来的是空等等一些未知的不合法
那么式子会报错所以建议使用后面一种方法