JDK5后基本数据类型都有一个对应的封装对象类型(boxed primitive),如int对应Integer。两者区别包括:
1.基本数据类型仅有数据值,而封装对象类型可能具有相同的数据值但是却是不同的对象,如:
int i=42,j=42; System.out.println(i==j);//打印true Integer a=Integer.valueOf(42); Integer b=Integer.valueOf(42); System.out.println(a==b);//打印false
2.封装对象类型具有一个特殊值null,基本数据类型不具有此值
3.基本数据类型在计算性能和占用内存上,比封装对象类型更好。
基本数据类型和封装对象类型可以自动转换(autoboxing,auto-unboxing),一般情况下,当基本数据类型和封装对象类型进行比较时,封装对象类型会自动转换为基本数据类型,然后才进行比较。频繁转换可能导致性能严重下降,如下:
Long sum = 0L;//注意sum为Long类型 for (long i = 0; i < Integer.MAX_VALUE; i++) { sum += i; }
以上代码每次计算过程,sum会先转换为long类型然后与i相加(因为i是long类型),计算结果会被转换为Long类型再赋给sum。即每次计算有2次转换过程,导致性能降低。
基本原则:
1.不要把基本数据类型和封装对象类型进行频繁比较(如上例的计算操作),否则会严重降低性能
2.注意当对两个封装对象类型进行“==”操作时,比较的是内存里两个对象是否相同,而不是比较对象拥有的数据值。应使用equals(), compareTo()比较封装对象类型的数据值
3.Collection,Map(特别是key值)所包含的元素仅能是封装对象类型,在添加、删除元素时不要使用基本数据类型的值
相关推荐
BvSsh 8.49最新版
Enterprise PeopleTools 8.49 Installation for DB2 UDB for Linux, UNIX, and Windows
Enterprise PeopleTools 8.49 Installation for Sybase
Enterprise PeopleTools 8.49 Installation for Informix
Bitvise SSH Client是款window上不错的免费的ssh客户端,支持SFTP, tunneling, terminal, FTPtoSFTP bridge。除了支持比较重要的动态端口转发外,还支持多帐号登录、图形界面的SFTP、远程桌面等。...
Enterprise PeopleTools 8.49 Installation for DB2 UDB for z/OS
Note. This book is designed to direct you through a basic PeopleSoft installation. It is not a substitute for the database administration manuals provided by your RDBMS vendor, the network ...
Note. This book is designed to direct you through a basic PeopleSoft installation. It is not a substitute for the database administration manuals provided by your RDBMS vendor, the network ...
vc读取大智慧实时行情,并将行情数据更新到sql server
Bitvise SSH Client是款window上不错的免费的ssh客户端,支持SFTP, tunneling, terminal, FTPtoSFTP bridge。除了支持比较重要的动态端口转发外,还支持多帐号登录、图形界面的SFTP、远程桌面等。...
本规范是对JT/T 808-2011《道路运输车辆卫星定位系统 终端通讯协议及数据格式》的补充和完善, ...多媒体数据上传应答、8.46 存储多媒体数据检索应答、8.49 数据下行透传、8.50 数据上行透传等章节 的内容;
本规范是对JT/T 808-2011《道路运输车辆卫星定位系统 终端通讯协议及数据格式》的补充和完善, ...多媒体数据上传应答、8.46 存储多媒体数据检索应答、8.49 数据下行透传、8.50 数据上行透传等章节 的内容;
我认为这是最方便Linux服务器远程管理软件! 不但可以ssh,同时可以ftp管理。非常方便。
Bitvise SSH Server是一款强大的SSH服务器远程登录软件,它适合于Windows服务器的远程管理,此版本8.22为目前最新版本。
现在,您可以使用product.localizedPrice(假设“ product”是SKProduct对象)来获取一个可选字符串,并将其价格本地化到设备(因此在美国,它可能会说“ $ 8.49”,而在英国,它可能会说“ 7.99英镑”) ”) ...
三星Galaxy S II(I9100)号称全球最轻薄手机,8.49mm的纤薄机身比苹果iPhone4更“薄”一筹,强悍的1.2GHz双核处理器+1G的RAM再搭配三星最强的Super AMOLED Plus屏幕,无论硬件配置还是显示效果等方面都是三星银河系列...
U盘安装 用的款软件 下载了unetbootin-0-8.49然 后就把DVD ISO写进U盘
产品型号:DG408DY配置:SINGLE 8x1导通电阻RDS(on) (Ω):40导通时间T(ON)(ns):115关断时间T(OFF)(ns):105电荷灌入(pC):20漏... +/-5~ +/-20封装/温度(℃):16SOIC/-40~85描述:单8路CMOS模拟转换开关价格/1片(套):¥8.49
研究提出了5种不同宽度煤柱方案,并采用数值模拟分析软件UDEC分析了巷道围岩变形效果,模拟结果表明,当煤柱宽为6~8m时,巷道顶底板、两帮相对变形量分别为266~285mm、305~380mm,煤柱中部垂直应力为5.12~8.49MPa,煤柱...
针对: IA64 + Redhat AS3 IA64 + Redhat AS4 不用打补丁 2.3.16版本,本来带有tcl,tk 8.49 由于太大没包括进来,需要的自己去下