发表新主题 回复该帖子
主题:关于程序避免直接返回字符串
jastby
帖子档案  楼主 关于程序避免直接返回字符串   Post by : 2009-07-06 09:43:47.0
  • 幼儿园
  • 幼儿园
  • UID:2
  • 主题:126
  • 帖子:219
  • 加为好友 加为好友    发送短信 发送短信

我在一些书中经常看到,程序避免直接返回字符串,想了解一下原因。

如:
(1)不推荐

if(....){
      return "success";
}else{
      return "false";
}

(2)推荐
public static final String SUCCESS="success";
public static final String FALSE= "false";
.......
if(....){
      return SUCCESS;
}else{
      return FALSE;
}

返回页面顶部  

菜鸟
2F Re:~   Post by : 2009-07-06 09:48:55.0
  • 幼儿园
  • 幼儿园
  • UID:30
  • 主题:53
  • 帖子:96
  • 加为好友 加为好友    发送短信 发送短信
这个是为避免以后更改字符串的值引发错误。

试想,如果用第一种方式,调用这个函数的地方都要这样写:

String result = fun();
if (result.equals("success")) {
doSomething();
}

如果有一天你把字符串的值改掉了,例如,改成"true",那么用这个函数的地方就全错了。

而如果是第二种方式,调用这个函数的方法可以这样写:

String result = fun();
if (result.equals(SomeClass.SUCCESS)) {
doSomething();
}

这样,随便你怎么改字符串的值,都不会对调用者产生影响。
返回页面顶部  


CopyRight © 2008-2009 JavaWind.Net Studio All Rights Reserved
Powered By JWind.BBS Vesion 1.0.0 Beta1 Processed in 15 ms,0 (Queries)  Gzip enabled

WAP - 清除Cookies - 联系我们 - JavaWind.Net Studio - Archiver - TOP Valid XHTML 1.0 Transitional Valid CSS! 粤ICP备07511478号