JAVA 包装类valueof是干什么的

我不知道这个Integer的valueof是怎么用的?有什么作用?... 我不知道这个Integer 的 valueof是怎么用的?有什么作用? 展开
 我来答
zhongtyler
推荐于2017-12-15 · TA获得超过4408个赞
知道大有可为答主
回答量:4384
采纳率:79%
帮助的人:907万
展开全部
在你上面全篇中没有看到你使用valueOf啊。

其实valueOf有点类似于工厂模式。valueOf是个静态方法。 可以把对象转换为所需要的类型。
例如 Integer.valueOf("1005") 其实等价于 new Integer("1005")。valueOf可以转换字符,double,short,等等类型。同时 Double Long等对象也有相应的valueOf方法。
它最大的优势是不需要显式的建立对象,此外,java系统本身可以通过一定的优化提高valueOf的速度(例如预先构建 -128到127 的所有Integer对象。)
更多追问追答
追问


我看不懂这个有什么用啊?

追答
你用错了,Integer.valueOf是用在 Integer类上的,不应该用integer对象上。 这样就可以直接获取对象而无需new了。可以减少对象的使用,毕竟我们很多时候只是临时用一下对象,然后立刻就放弃了,直接new一个对象作为参数看上去比较累赘,而使用一个对象又没什么意思。
例如,有个方法, a.sum(Integer,Integer) , 你手头只有两个String,那么你要怎么处理呢。
案1
Integer i1 = new Integer(s1);
Integer i2 = new Integer(s2);
a.sum(i1,i2)
案2
a.sum(new Integer(s1),new Integer(s2));
案3
a.sum(Integer.valueOf(s1),Integer.valueOf(s2));

看上去,案3最为优雅。
wanghappyming1
2014-09-22 · TA获得超过864个赞
知道小有建树答主
回答量:483
采纳率:50%
帮助的人:131万
展开全部
valueof 是将String 类型的数据转换成 int 的包装类 integer类型。
在返回的过程中
如果String并不是纯粹由数字构成即无法转化为数字,则抛出NumberFormatException
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e48e28d
2014-09-22 · 超过31用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:51.1万
展开全部
把Object 转换成String 再转换成 对应的类型 如果不能转换就报错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式