Java Character.forDigit始终返回null
给定一个字符,我想知道它是否是十六进制字符。从各种论坛上,我了解到我们也可以通过Java Character.forDigit始终返回null,java,Java,给定一个字符,我想知道它是否是十六进制字符。从各种论坛上,我了解到我们也可以通过Integer类来实现它。但是想知道下面的代码中有什么错误 Character.forDigit('C',16) 根据,对于上述代码,如果其不是有效的十六进制字符,则返回空字符('\u0000')。请指出问题所在。基数错了吗?我用一段代码进行了验证: if(Character.forDigit('C',16) == '\u0000') { System.out.println("Invalid Charac
Integer
类来实现它。但是想知道下面的代码中有什么错误
Character.forDigit('C',16)
根据,对于上述代码,如果其不是有效的十六进制字符,则返回空字符('\u0000'
)。请指出问题所在。基数错了吗?我用一段代码进行了验证:
if(Character.forDigit('C',16) == '\u0000') {
System.out.println("Invalid Character");
}
不,您使用它的方式不正确。
试试这个:
Character.forDigit(12,16)
你会发现出了什么问题 另见:
不,您使用它的方式不正确。
试试这个:
Character.forDigit(12,16)
你会发现出了什么问题 另见:
字符。forDigit(int,int)
接受一个int并返回相应的字符,而不是像您这样做。字符。forDigit(int,int)
接受一个int并返回相应的字符,而不是像您这样做。您正在寻找的方法是
Character.forDigit()
的工作原理与其他人已经指出的相反。您正在寻找的方法是
Character.forDigit()
与其他人已经指出的情况相反。十六进制字符在Java中表示前缀为“0x”。因此,验证代码总是以“无效字符”的形式返回
尝试使用前缀。
例如:
十六进制字符在Java中表示,前缀为“0x”。因此,验证代码总是以“无效字符”的形式返回 尝试使用前缀。 例如:
if (Character.digit('C',16) == -1) {
System.out.println("Invalid Character");
}
if(Character.forDigit(0xC,16)=='\u0000'){
System.out.println("Invalid Character");
}