equals " " 和 " " equalse有区别吗 " " 放前后是否会有区别啊, 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有区别,当“ ”在后面时。如果值为null,会抛出异常,所以一般还是建议“ ”.equals(); 和 判断 非空 null != xxx 一样这样写可以避免空指针 呵呵,null和""的帖子好多哦,都是问他们的区别 看看如下代码你就懂了 接贴吧package test;/* * from http://hi.csdn.net/HeiBoyYang */public class Sample { public static void main(String[] args) { String s=null; //System.out.println(s.equals("")); System.out.println(!"".equals(s)); }} package test;/* * from http://hi.csdn.net/HeiBoyYang */public class Sample { public static void main(String[] args) { String s=null; System.out.println(!s.equals("")); //System.out.println(!"".equals(s)); }} 楼上都回答正确。不过一般传参的时候参数为NULL的情况还是不多见的。不过保险起见还是放前面吧。不是避免空指针,而是避免没有写异常的时候会报一堆不友好的提示。 看到一个帖子是null= 和=null的,应该是一样的吧!不过好像=null会报错,额,看来的,没试过! 我觉得一般只判断参数是否为""而不判断是否为null这种情况是很少存在的。所以说System.out.println(!s.equals(""));System.out.println(!"".equals(s));这种判断一般都没有意义。但是如果先判断是否为null再判断是否为空,那这两种情况是一样的。System.out.println(s != null && !s.equals(""));System.out.println(null != s && !"".equals(s)); 没区别。只是"".equals()用来防止写错,在编译时能检查出来 ""不会是null,不会产生空指针异常 同意! 尽管 "".equals(obj)能隐形的避免的空指针的问题,但个人认为显式的判断下更好。 都OUT了,现在的API中有一个.isEmpty(),用这个应该就够了,可以判断"" 和 null ""放在前能防止NullPointerException 喷自己,只能判断length=0,不能判断null 恩,二楼说的对,当“”在后面时,如果值为null,会抛出异常,确实是这样,还是用equals()吧 String aa=null;aa.equal("SS");以上会报错若改为以下就不会报错还回是false;String aa=null;"SS".equal(aa); String aa=null;aa.equal("SS");以上会报错若改为以下就不会报错还回是false;String aa=null;"SS".equal(aa); 迭代时删除指定元素 java串口通信新鲜问题 JAVA的应用程序如何用浏览器加载进来?(CS变BS) 请牛人解答一下,关于初始化顺序 构造函数serverSocket(int port,int backlog)能够实现对来自客户端的最大连接数限制么? 结果集ResultSet如何通过socket进行传输? java 基础问题 关于STRUTS国际化的问题 JWindowr的闪烁问题 新手小白 SE里 做记事本的撤销功能 菜鸟,求教,这个错误怎么改啊!什么原因!帮帮忙!
所以一般还是建议“ ”.equals();
这样写可以避免空指针
/*
* from http://hi.csdn.net/HeiBoyYang
*/
public class Sample {
public static void main(String[] args) {
String s=null;
//System.out.println(s.equals(""));
System.out.println(!"".equals(s));
}
}
/*
* from http://hi.csdn.net/HeiBoyYang
*/
public class Sample {
public static void main(String[] args) {
String s=null;
System.out.println(!s.equals(""));
//System.out.println(!"".equals(s));
}
}
不过一般传参的时候参数为NULL的情况还是不多见的。不过保险起见还是放前面吧。不是避免空指针,而是避免没有写异常的时候会报一堆不友好的提示。
System.out.println(!s.equals(""));
System.out.println(!"".equals(s));
这种判断一般都没有意义。但是如果先判断是否为null再判断是否为空,那这两种情况是一样的。
System.out.println(s != null && !s.equals(""));
System.out.println(null != s && !"".equals(s));
同意! 尽管 "".equals(obj)能隐形的避免的空指针的问题,但个人认为显式的判断下更好。
喷自己,只能判断length=0,不能判断null
确实是这样,还是用equals()吧
aa.equal("SS");
以上会报错
若改为以下就不会报错还回是false;
String aa=null;
"SS".equal(aa);
aa.equal("SS");
以上会报错
若改为以下就不会报错还回是false;
String aa=null;
"SS".equal(aa);