许多Android java方法返回数字常量值。在记录或向用户显示值时,我希望自动将这些值转换为字符串(类似于Windows APIformatmessage()
/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和其他网站上搜索了很多,但所有的结果都与整数解析有关。
有什么方法可以实现我想做的事情吗?
您正在寻找的功能根本不存在。您别无选择,只能坚持使用switch
方法。
我使用MSVC v141和< code>/std:c 17进行编译。 编译得很好,而 失败原因: 错误C2131:表达式未计算为常量 失败是由在其生命周期之外读取变量引起的 注意:请参阅“FOO”的用法 这是正确的行为还是 MSVC 中的错误?
本文向大家介绍字符型常量和字符串常量的区别相关面试题,主要包含被问及字符型常量和字符串常量的区别时的应答技巧和注意事项,需要的朋友参考一下 形式上: 字符常量是单引号引起的一个字符; 字符串常量是双引号引起的若干个字符 含义上: 字符常量相当于一个整型值( ASCII 值),可以参加表达式运算; 字符串常量代表一个地址值(该字符串在内存中存放位置) 占内存大小:字符常量只占2个字节; 字符串常量占
我有一个带有几个API RESTendpoint的Java Spring Boot应用程序。
如何在Go中获取字符串的字符数? 例如,如果我有一个字符串“hello”,该方法应该返回5。我看到返回字节数,而不是字符数,因此返回2而不是1,因为在UTF-8中用两个字节编码。
我正在使用类集合,并有一行代码,如下所示。请找到完整的代码如下所示,让我知道什么是错误的代码,因为我得到的错误: JAVAlang.IllegalArgumentException:参数数量错误
如这些问题中所述:问题1 在以下情况下,JVM将创建一个新的字符串对象,而不是使用字符串池中的现有对象: 然而,在阅读了下面两个类似的陈述之后,我有一个疑问。 从SCJP准备书: 当编译器遇到字符串文字时,它会检查池中是否已经存在相同的字符串。如果找到匹配项,对新文本的引用将指向现有的String,并且不会创建新的String文本对象。 来自JavaRanch: 在本例中,由于关键字“new”,我