java valueof和parse什么区别,java parseint和valueof

2023-08-27 8609阅读 0评论

java valueof和parse什么区别,java parseint和valueof 第1张

以Byte类中的valueOf和parseByte为例

valueOf是转换为Byte封装类型

而parseByte是转换为byte基本数据类型

看一下jdk1.8的部分源码

/*** Byte类中构造了一个缓存,将-128-127这256个数存放在cache数组中* 数组下标为0-256*/private static class ByteCache { private ByteCache(){} static final Byte cache[] = new Byte[-(-128) + 127 + 1]; static { for(int i = 0; i 转换成封装类,返回的是cache中的数据*/public static Byte valueOf(byte b) { final int offset = 128; return ByteCache.cache[(int)b + offset];}/*** valueOf(String)的本质是调用了parseByte方法* radix表示参数s识别为什么进制的数据*/public static Byte valueOf(String s, int radix) throws NumberFormatException { return valueOf(parseByte(s, radix));}/*** 默认10进制*/public static Byte valueOf(String s) throws NumberFormatException { return valueOf(s, 10);}/*** parseByte返回的是byte基本数据类型的值*/public static byte parseByte(String s, int radix) throws NumberFormatException { int i = Integer.parseInt(s, radix); if (i MAX_VALUE) throw new NumberFormatException( \”Value out of range. Value:\\\”\” + s + \”\\\” Radix:\” + radix); return (byte)i;}

radix参数怎么用呢?其实parseByte/valueOf还可以将其他进制的数转换成10进制

比方说valueOf(\”0011\”, 2)就表示将二进制的0011转换成10进制的3

parseByte(\”0011\”, 2)也是同理

86911934

《java valueof和parse什么区别,java parseint和valueof》来自互联网同行内容,若有侵权,请联系我们删除!


免责声明
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明。
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所
提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何
损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在
转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并白负版权等法律责任。

手机扫描二维码访问

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,8609人围观)

还没有评论,来说两句吧...

目录[+]