我在一些书中经常看到,程序避免直接返回字符串,想了解一下原因。
如:
(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;
}
如:
(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;
}
if (result.equals("success")) {
doSomething();
}如果有一天你把字符串的值改掉了,例如,改成"true",那么用这个函数的地方就全错了。而如果是第二种方式,调用这个函数的方法可以这样写:String result = fun();
if (result.equals(SomeClass.SUCCESS)) {
doSomething();
}这样,随便你怎么改字符串的值,都不会对调用者产生影响。