valueOf与new的区别

Integer a = new Integer(1);

Integer b = Integer.valueOf(1);

遇上两句话有什么区别?

请看Integer的源码中关于valueOf的简介:

1 public static Integer valueOf(int i) {
2         assert IntegerCache.high >= 127;
3         if (i >= IntegerCache.low && i <= IntegerCache.high)
4             return IntegerCache.cache[i + (-IntegerCache.low)];
5         return new Integer(i);
6     }

其中可以看到如果在合适的区间范围内它不回去创建新的对象,而是在IntegerCache中去查找,从而节省时间。

时间: 2024-10-08 06:43:37

valueOf与new的区别的相关文章

jsp中遇到Integer的方法valueOf()和parseInt()的区别.前者要求是对象类型,后者是数字型字符串

他们有本质区别,Integer.valueof(String s)是将一个包装类是将一个实际值为数字的变量先转成string型再将它转成Integer型的包装类对象(相当于转成了int的对象)这样转完的对象就具有方法和属性了. 而Integer.parseInt(String s)只是将是数字的字符串转成数字,注意他返回的是int型变量不具备方法和属性 Integer.parseInt()把String 型转换为Int型, Integer.valueOf()把String 型转换为Integer

Integer.parseInt(String s) 和 Integer.valueOf(String s) 的区别

通过查看java.lang.Integer的源码可以发现, 它们最终调用的都是 /** * Parses the string argument as a signed integer in the radix * specified by the second argument. The characters in the string * must all be digits of the specified radix (as determined by * whether {@link

valueOf和toString的区别

基本上所有的JavaScript数据类型都有valueOf(),toString()方法,null除外,这两个方法解决了JavaScript值运算和显示的问题 valueOf()会把数据类型转换成原始类型,也就是说原来是什么类型,转换后还是什么类型,日期类型除外 toString()会把数据类型转换成string类型,也就是说不管原来是什么类型,转换后一律是string类型 这两个方法有意思的地方在于什么时候使用,总结如下: 1.valueOf()偏向于运算,toString()偏向于显示 2.

new BigDecimal(0.01) 与 new BigDecimal(String.valueOf(0.01))的区别 (转)

转自:http://blog.csdn.net/major1985/article/details/50210293 一般我们使用BigDecimal进行比较精密的计算,我这里计算金额.注意使用double构造器的本质与String构造的本质,避免造成问题. 我这里出现的问题是金额总是多了0.01 问题出现在这段代码: if(valueDiffDays > 0){ logger.info("该账单{}需要缴纳{}天利息",loanBillLogDO.getBillSeqNo(),

一日一练-JS toString 和valueOf 方法的联系与区别

子曰:类型转换中toString 和valueOf 的联系与区别分析 首先是看看ES5 的规范是如何进行说明的 在这里有几个基础知识点需要了解一下: [[Class]] [[Class]] 属于Object 的内部属性,值的类型返回为String,其作用是,说明规范定义的对象分类的一个字符串值. ES5 规范的每种内置对象都定义了[[Class]] 内部属性值.宿主对象的[[Class]] 内部属性值可以是除了"Arguments". "Array". "

ValueOf()和toString()

var colors = ["red", "blue", "green"]; // 创建一个包含3 个字符串的数组 console.log(colors.toString()); // red,blue,green console.log(colors.valueOf()); // red,blue,green console.log(colors); // red,blue,green /*valueOf和toString方法区别*/ var

parseInt(),parseFloat(),valueOf(),intValue(),toString方法总结

本篇文章主要讲解一下在JAVA语言中数字型字符串和数字的转换,整型数字转换成字符串,以及个别方法之间的区别. 1.parseXxx()是SimpleDateFomat里面的方法,常用的包括parseInt(),parseFloat() 使用此方法得到的原始数据类型的一个特定的字符串. parseXxx()是一个静态方法,可以有一个参数或两个. 语法: 下面给出了该方法的所有的变型: static int parseInt(String s) static int parseInt(String

js权威指南——一些疑问(更新时间2016/1/29)

1.作用域链? 2.valueOf()和toString()的区别? 3.字符串之间进行比较的规则是?

前端基础考试

一. css 40分 1. 什么是盒模型? 在网页布局中,为了让使各元素合理的组织,总结出来的一套原则和规范.盒模型由content(内容).border(边框).padding(内边距).margin(外边距)组成.一个盒子实际占用空间是“内容+内边距+外边距+边框”组成.所有的网页元素都能看成一个盒子. 详细解释为:左---中---右 盒状模型宽度=左margin宽度+左border宽度+左padding宽度+content宽度+右padding宽度+右border宽度+右margin宽度