3个回答
展开全部
在你上面全篇中没有看到你使用valueOf啊。
其实valueOf有点类似于工厂模式。valueOf是个静态方法。 可以把对象转换为所需要的类型。
例如 Integer.valueOf("1005") 其实等价于 new Integer("1005")。valueOf可以转换字符,double,short,等等类型。同时 Double Long等对象也有相应的valueOf方法。
它最大的优势是不需要显式的建立对象,此外,java系统本身可以通过一定的优化提高valueOf的速度(例如预先构建 -128到127 的所有Integer对象。)
其实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最为优雅。
展开全部
valueof 是将String 类型的数据转换成 int 的包装类 integer类型。
在返回的过程中
如果String并不是纯粹由数字构成即无法转化为数字,则抛出NumberFormatException
在返回的过程中
如果String并不是纯粹由数字构成即无法转化为数字,则抛出NumberFormatException
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把Object 转换成String 再转换成 对应的类型 如果不能转换就报错了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询