如果我只有两个状态(真和假),则我的函数可以返回布尔值,并根据其返回值可以执行一些操作。

boolean checkFoo(Object foo) {

 // .....
 return true/false;
}


如果我有四个状态:

我可以使用enum并使用从函数返回该enum的方法。

 public enum StateEnum { //... }

 StateEnum checkFoo(Object foo) {

 // .....
 return StateEnum.STATE1/StateEnum.STATE2/StateEnum.STATE3/StateEnum.STATE4;
}


但是此枚举仅用于此功能,没有其他用途,这种情况还有其他清洁方法吗?类似于返回字符串?

最佳答案

枚举看起来不错。

实际上,此函数不仅会使用该枚举,而且它的所有客户端也会使用该枚举,并且可以使用任意数量的枚举。

与字符串相比,枚举绝对是一种更好的方法,因为您将可能的返回值的数量限制为4(在您的情况下)。

10-08 01:55