查看完整版本: [-- 关于程序避免直接返回字符串 --]

风信Java论坛 ›› Java 基础开发 ›› 关于程序避免直接返回字符串 登录 -> 注册

1F 关于程序避免直接返回字符串   jastby Post by : 2009-07-06 09:43:47.0

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

如:
(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    菜鸟 Post by : 2009-07-06 09:48:55.0
这个是为避免以后更改字符串的值引发错误。

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

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

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

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

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

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

风信Java论坛 ›› Java 基础开发 ›› 关于程序避免直接返回字符串 登录 -> 注册

查看完整版本: [-- 关于程序避免直接返回字符串 --]
CopyRight © 2008-2009 JavaWind.Net Studio All Rights Reserved
Powered By JWind.BBS Vesion 1.0.0 Beta1 Processed in 28 ms,0 (Queries)  Gzip enabled
粤ICP备07511478号