从Long.ValueOf("String")与Long.parseLong("String")看JAVA包装类的封箱与拆箱
2016-03-30 19:51
531 查看
从Long.ValueOf("String")与Long.parseLong("String")看JAVA包装类的封箱与拆箱
标签: stringjavacache2011-04-25 20:03 16742人阅读 评论(1) 收藏 举报
本文章已收录于:
Java
SE知识库
版权声明:本文为博主原创文章,未经博主允许不得转载。
1.Long.ParseLong(String)方法,将 string 参数解析为有符号十进制
long,字符串中的字符必须都是十进制数字。
[java] view
plain copy
parseLong(String s)
|-->return parseLong(s, 10); //返回一个long开的result基本类型值
2.Long.ValueOf(String) ,参数String表示,指定
String的值的
Long对象。该参数被解释为表示一个有符号的十进制
long,该值与用该参数作为参数的
parseLong(java.lang.String)方法得到的值非常相似。只是最后被转换为一个Long的包装类。
[java]
view plain
copy
public static Long valueOf(String s) throws NumberFormatException
{
return Long.valueOf(parseLong(s, 10));
|-->return Long.valueOf(parseLong(s, radix));
|-->final int offset = 128;
if (l >= -128 && l <= 127) { // will cache
return LongCache.cache[(int)l + offset];
}
return new Long(l);
}
}
3.long a = new Long(String) 实质为构造实例时,在toString中调用了String.valueOf获得
[java] view
plain copy
public Long(String s) throws NumberFormatException {
this.value = parseLong(s, 10);
}
4.Long.decode(String) 方法,特点是将
String解码成
Long。接受通过以下语法给出的十进制、十六进制和八进制数:比如ox11,转换为17
5.Java包装类型的装箱拆箱机制
JAVA基本类型,不用new来创建变量,而是创建一个并非是“引用”的“自动”变量。这个变量拥有它的“值”,并置于堆栈中,因此更加高效。
Java中的某些操作只能使用对象,而基本类型不是类类型,不能实例化成对象,比如Collection,就必须以对象实现。
所谓的装箱指的是基本类型转换为包装类型,拆箱指的是包装类型转换为基本类型。
相关文章推荐
- iOS程序的Build过程
- The global shader cache file'X:/XXXX/GlobalShaderCache-PCD3D_SM5.bin' is missing——UE4工程运行失败
- POJ-1679 The Unique MST ( 次小生成树 )
- Long.valueOf()作用
- easyui 获取子节点并修改节点颜色
- IOS学习之——UIEvent 控件的学习
- IOS学习之——UITouch 控件的学习
- IOS学习之——UIResponder
- UIPageViewController用法
- 关于UIView中的坐标转换
- LeetCode之300—-Longest Increasing Subsequence
- 【转】于request.getSession(true/false/null)的区别
- LeetCode之300—-Longest Increasing Subsequence
- KMP+dp Codeforces346B Lucky Common Subsequence
- IOS学习之—— UITabBarController
- tableView小技巧:让cell分割线充满整个cell,去掉多余的分割线
- IOS学习之——导航控制器 UINavigationController
- codeforces-597C-Subsequences【树状数组】
- easyui 输入框校验 限制字体长度,以及类型。。。
- poj3080 Blue Jeans (多个字符串匹配)