Многие Java-методы Java возвращают числовые постоянные значения. При регистрации или показе значений пользователю я хотел бы автоматически преобразовать эти значения в строки (что-то похожее на Windows API FormatMessage()
/FORMAT_MESSAGE_FROM_SYSTEM
). Однако я не мог найти способ сделать это, кроме переключения всех возможных значений и создания соответствующих строк.Получение строкового представления чисел java числовых констант/кода ошибки
Например: 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 и других сайтах, но все результаты были связаны с целым синтаксическим разбором.
Любой способ достичь того, что я пытаюсь сделать?
_ «Я мог бы написать случай с переключателем, например:« _ Нет, вы не могли, так как Android не поддерживает Java 7 (если вы не используете Android KitKat) –
Я действительно использую Android KitKat, и это действительно работает. .. это не работает в предыдущих версиях? Интересный ... (Java-новичок) – Sambusak
@ ZouZou Switches - это функция Java в течение длительного времени, вам не нужна Java 7 для их использования. – AxiomaticNexus