许多Android java方法返回数值常量值。在向用户记录或显示值时,我想自动将这些值转换为字符串(类似于Windows API FormatMessage()
/ FORMAT_MESSAGE_FROM_SYSTEM
)。但是,除了切换所有可能的值并生成匹配的字符串之外,我找不到一种方法。
例如:android.net.wifi.p2p.WifiP2pManager.ActionListener.onFailure()
返回一个整数值:ERROR
(0),P2P_UNSUPPORTED
(1),BUSY
(2)。我想将数字转换为适当的字符串。我可以编写一个这样的开关案例:
public void onFailure(int reason) {
String strReason;
switch (reason) {
case WifiP2pManager.BUSY: strReason = "BUSY"; break;
case WifiP2pManager.ERROR: strReason = "ERROR"; break;
case WifiP2pManager.P2P_UNSUPPORTED: strReason = "P2P_UNSUPPORTED"; break;
default: strReason = Integer.toString(reason);
}
Log.d(TAG, "onFailure failed, reason=" + strReason);
}
但是我想避免它,特别是当有超过3个可能的返回值时。
我尝试在StackExchange和其他网站上进行了大量搜索,但所有结果都与整数解析有关。
有什么方法可以实现我的目标?
答案 0 :(得分:0)
您正在寻找的功能根本不存在。你别无选择,只能坚持使用switch
方法。