【JAVA】探讨 Java 中 valueOf 和 parseInt 的区别
在编程过程中,类型转换经常需要使用 parseInt 和 valueOf 方法,尤其是针对 Integer 类型。尽管两者常被交叉使用,末路狂飙挂机源码但具体区别何在,本文将进行深入探讨。
parseInt 方法:
首先,parseInt 方法包含两个参数:parseInt(String s, int radix)。radix 表示进制,即输入字符串 s 的进制。若不符合条件,安徽到江苏源码则会抛出 NumberFormatException 异常。接着,对字符串 s 和 radix 进行判断,若不符合条件,同样抛出异常。顶级游资源码然后,再次对字符串长度进行校验,并判断第一个字符是否为负号。若第一位是符号,则设置 negative 为 true,同花顺外部指标源码表示负数,并设置 limit 为最小边界。若不是 +,则抛出异常。若字符串长度只有1,双线wr指标源码则表示非数字,同样抛出异常。根据进制调整边界,并使用 Character.digit() 将字符转换为对应进制的整数。若字符不是进制内的,则返回 -1。最后,判断是否为负数,完成转换。
valueOf 方法:
valueOf 方法包括 valueOf(String s, int radix) 和 valueOf(String s)。这两个方法都直接调用 parseInt 方法。而 valueOf(int i) 则是一个 int 转成 Integer 的自动装箱。探究 IntegerCache,可以看出这是 Integer 的成员内部类。初始化一个 IntegerCache.cache 数组,存储 - 到 之间的数字作为缓存。三个重构的 valueOf() 方法大同小异。
总结:
通过源码分析,我们可以了解到 parseInt 和 valueOf 的区别。看源码能学到很多知识,夯实基础,之后编程会变得更加轻松高效。
integer.parseInt()
å·²ç»è¶ åºäºint表示çèå´äº.第äºä¸ªåæ°å°±æ¯ä»¥å¤å°è¿å¶çå½¢å¼æ¥è¡¨ç¤ºæ°å.
Integer.valueof(String)
é®é¢1:没æå ³ç³»äº,åªæ¯æStringåç"1"转å为äºIntegeråç1
é®é¢2:
(1)è°ç¨Integerç±»ä¸çéææ¹æ³valueOf(String)
(2)valueOfæ¹æ³å°ä¼ å ¥çåæ°String转å为intåå¼
(3)è¿å该å¼,å¦æString并ä¸æ¯çº¯ç²¹ç±æ°åææå³æ æ³è½¬å为æ°å,åæåºNumberFormatException..
2024-12-23 23:58
2024-12-23 23:57
2024-12-23 23:52
2024-12-23 23:29
2024-12-23 22:37