【发布时间】:2020-01-20 08:54:00
【问题描述】:
通过查看此处和其他网站,我知道有两种常用方法可以将数字 char 值(如 '5')转换为 int 值:
使用
Character.getNumericValue()用
'0'的ASCII值减去数字;即int number = num - '0',其中num是char值。
这两种方法中哪一种是最快和最有效的?
【问题讨论】:
-
您在这里尝试进行微优化是否有特定原因?让我留个便条,一般来说这可能是一件坏事。通常,您更喜欢可读性而不是提高 1 纳秒的速度。
-
过早优化是万恶之源。
-
Character.getNumericValue()应该较慢,因为它考虑了 Unicode,例如Character.getNumericValue((char) 0x00B3)返回3因为0x00B3对应于“上标3”,当num - '0'只是减去两个ints -
首先
Character.toNumericValue()不是一个方法。是Character.getNumericValue(),其次你为什么要找微优化? -
@Zabuza 不,我只是想知道一个是否比另一个慢得多。我经常使用它,所以想知道我是否使用的是最有效的。
标签: java char data-conversion