1)基本数据类型
Java的基本数据类型有8种,包括byte,char,short,int,long,double,float,boolean。
基本数据类型是基于数值的,因此它并没有类的概念,这一思想与Java是纯面向对象语言这一特点相违背,但是依旧没有将基本数据类型舍弃。
对于基本数据类型明显的优点就是:
<1>存储的是具体数值,没有操作数据的方法,占用的内存空间小;
<2>存储位置是在栈的局部变量表中,并且存储的是具体数值,有更高的性能。
当然,缺点也是显而易见的,就是没有操作数据的方法。
2)包装类
每种基本数据类型都对应一种包装类型。
3)具体行为细节(Integer)
构造方法:
对于构造一个Integer类型的对象还可以使用下面的方法,但是其与使用new构造的是有区别的:
<1>首先int 与Integer比较Integer会先自动拆箱为int,然后比较
<2>Integer与Integer比较,如果是通过int来创建的,在-128~127范围内是相等的,在范围外是不等的;如果是通过new 出来的则一定不相等(两个不同的对象,不可能相等的)。
因为对于通过int来的Integer对象实际是通过使用valueOf(int i)方法的,而valueOf(int i)中使用到Integer的缓存策略。对于-128 ~ 127内的值在创建Integer对象时候是存放在缓冲区的,当又有Integer创建该对象时候,则直接使用缓冲区里的。而对于范围外的使用int则是通过new一个对象创建的,所以对于int而来的Integer在-128 ~ 127两侧是有区别的
<3>Integer与Integer比较,通过int与new方法时候,都是不相等的,首先在范围内,int是直接存放在缓冲区而new是新建了一个对象,肯定不相等的,而范围外,则都是通过new对象新建的,也一定不相等。
parseInt(s,10);是将字符串s解析成指定参数(这里是10,也就是十进制)的进制,也就是按照指定进制解析字符串,解析成的是十进制的数,下面是源码:
Integer中的常量:
常用方法:
String toString():返回字符串类型的表示该Integer对象
String toString(int i):将i按照十进制转成字符串
getChars(int i, int index, char[] buf):
将表示整数i的字符放入字符数组buf中。字符从指定索引处的最低有效数字(不包括)开始向后放入缓冲区,并从那里向后工作。(api中解释)。应该就是将指定的数i装进字符数组buf中。
String toString(int i,int radix):将i按照radix指定的进制转成字符串
对于常用的进制转化有以下方法:
转二进制:
转十六进制
转八进制
valueOf(String s ,int redix):将指定字符串按照指定进制的Integer类型的数
valueOf(int i):将i转成Integer类型实例
valueOf(String s):指定字符串转成十进制Integer类型实例
java基础数据类型及封装类
parseInt()与valueOf()的区别:
<1>两者都是将字符串转成"整型";
<2>parseInt()是转成int类型的,而valueOf()是转成Integer类型的,在valueOf()方法中就使用到了parseInt()方法,然后再进行装箱操作。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/26307.html