Topic: 问:关于初始值的问题 !?! |
Print this page |
1.问:关于初始值的问题 !?! | Copy to clipboard |
Posted by: terry39 Posted on: 2003-04-22 16:59 是 public String s=null; 好 还是 public String s=""; 好呢? 若是 public String s=null 好的话: 因为 在程序运行的时候 可能会使得 s=""; 那么在判断的时候 用 if(s.equals("") || s.equals("")) {...} 会出错!?~ 怎么办? (我看的比较多 的 都是 null 的) 此不明白之处 请多多指教~ |
2.Re:问:关于初始值的问题 !?! [Re: terry39] | Copy to clipboard |
Posted by: jiangns3000 Posted on: 2003-04-22 19:21 当s!=null时,s.equals()才有意义。许多方法都返回null而不是“”。 |
3.Re:问:关于初始值的问题 !?! [Re: terry39] | Copy to clipboard |
Posted by: floater Posted on: 2003-04-22 23:26 use this: if ((s == null) && (s.equals("")) |
4.Re:问:关于初始值的问题 !?! [Re: terry39] | Copy to clipboard |
Posted by: jiangns3000 Posted on: 2003-04-23 08:28 不对。当s==null时,s.equals("")有异常。 |
5.Re:问:关于初始值的问题 !?! [Re: terry39] | Copy to clipboard |
Posted by: jiangns3000 Posted on: 2003-04-23 08:32 应为||而不是&&。 |
6.Re:问:关于初始值的问题 !?! [Re: terry39] | Copy to clipboard |
Posted by: terry39 Posted on: 2003-04-23 18:01 也就是说 跟C一样 用 || 的时候 若前面的已经 true了 后面的就不判断了 是这样么? && 等 依此类推咯? 但还是没有说清楚 在 null 和 "" 两个中 用什么好啊? |
7.Re:问:关于初始值的问题 !?! [Re: terry39] | Copy to clipboard |
Posted by: jiangns3000 Posted on: 2003-04-23 18:52 不是谁好谁不好的问题,而是这个代码将这两种情况全包含进去了。 不过我的建议是用null。因为有不少方法,当流结束无串可读时返回null。而返回""不表示什么。仅表示读了一个空串。如:一系列串中包含的一个或多个空行给读出来了,但数据没有读结束。 |
8.Re:问:关于初始值的问题 !?! [Re: jiangns3000] | Copy to clipboard |
Posted by: floater Posted on: 2003-04-23 23:54 jiangns3000 wrote: Hehe, good catch! Should be ||. |
9.Re:问:关于初始值的问题 !?! [Re: terry39] | Copy to clipboard |
Posted by: floater Posted on: 2003-04-23 23:55 terry39 wrote: Yep. |
10.Re:问:关于初始值的问题 !?! [Re: jiangns3000] | Copy to clipboard |
Posted by: floater Posted on: 2003-04-24 00:18 jiangns3000 wrote: I suggest to use "", to be on the safe side. If we forget to check "", it's fine, won't bomb out. If we forget to check null, you know ... |
11.Re:问:关于初始值的问题 !?! [Re: floater] | Copy to clipboard |
Posted by: scottlai Posted on: 2003-04-24 07:39 according to java.lang.String.java, using s.length()==0 instead of s.equals("") will be better!
|
12.Re:问:关于初始值的问题 !?! [Re: floater] | Copy to clipboard |
Posted by: zyfno1 Posted on: 2003-04-28 13:13 floater wrote: 如果想节约内存资源情况s=null,但是在判断s时需用:if ((s == null) && (s.equals("")); |
13.Re:问:关于初始值的问题 !?! [Re: terry39] | Copy to clipboard |
Posted by: jaderiver Posted on: 2003-06-06 09:42 null是空,就是什么都没有. ""是不含字符的字串. |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |