我知道您已经接受了答案,但您不应该使用发布的代码,因为正如您所说,它很脆弱且难以维护。没有理由会这样。
public String getWifiStateStr() {
switch (mWifiManager.getWifiState()) {
case WifiManager.WIFI_STATE_DISABLING:
return "disabling";
case WifiManager.WIFI_STATE_DISABLED:
return "disabled";
case WifiManager.WIFI_STATE_ENABLING:
return "enabling";
case WifiManager.WIFI_STATE_ENABLED:
return "enabled";
case WifiManager.WIFI_STATE_UNKNOWN:
return "unknown";
default:
return null; //or whatever you want for an error string
}
}
这可以保护您免受常量分配的更改,在 6 个月内将更容易阅读,并且假设您正确处理错误字符串,如果允许的返回值数量增加,应该可以限制错误。
当您在 Android 文档中看到一个变量列为“常量”时,这意味着它被声明为 public static final。它可以作为 ClassName.CONST_VARIABLE_NAME 访问。按照惯例,这些变量将全部大写,但这不是语言要求。一般来说,您永远不需要使用这些成员的实际值,除非您需要做一些奇怪的事情,否则您应该始终通过成员名称访问它们。