① java包装类
在Java中我们经常会见到一些基本的数据类型,比如整数类型(int),小数类型(double,float)等,但是Java是一门面向对象的语言,很多的类型都是以对象的形式展现,像这些数据类型也可以有自己的对象;每个类型的对应包装类型为:int-> Integer double->Double float->Float char->Character short->Short boolean->Boolean byte->Byte;
我们用包装类将这些类型封装好之后,就可以使用对象的一些属性和方法,可以方便的操作这些对象;
在这些包装类中,我们可以将这些包装类对象和基本数据类型进行转换,也叫做装箱操作和拆箱操作:装箱操作就是将基本数据类型转换为包装类型,例如将基本数据类型int转换成包装类Integer,装箱操作有两种方式,手动装箱与自动装箱,自动装箱就是直接将基本数据类型赋值给包装类型对象即可;手动装箱就是创建一个包装类对象,然后将值赋值给该对象;
int value1 = 10;
Integer value2 = value1; // 自动装箱
Integer value3 = new Integer( value1 ); // 手动装箱
有了装箱操作也就有拆箱操作,拆箱操作的意思就是将包装类型转换为基本数据类型;拆箱操作也有两种方式:手动拆箱与自动拆箱;
int value4 = value2; // 自动拆箱,直接将包装类对象赋值给基本数据类型变量
Int value5 = value2.intValue(); // 手动拆箱,调用包装类的intValue()方法,获取变量值;
包装类也是一个普通的类,当然也有类的基本属性,方法;数值类型的包装类继承的父类是Number类,这个类里面有一些基本的方法,比如获取intValue的值,longValue的值等等;
包装类继承Number之后,也会有一些自己的属性方法,比如Integer类有自己的一些属性,可以将整数转换为字符串,也可以将字符串转换成整数等操作;
Integer常用方法
比较两个数的大小,如果第一个数小于第二个数返回-1;如果两个数相等返回0;如果第一个数大于第二个数返回1;
public static int compare(int x, int y)
将数值字符串转换为数字,如果传入的参数中包含非数字的字符,则会报出异常
public static int parseInt(String s)
将整数类型转换为字符串类型
public String toString()
valueOf返回Integer类型的数据,根据参数返回不同的结果
public static Integer valueOf(String s, int radix)
public static Integer valueOf(String s)
public static Integer valueOf(int i)
除了Integer之外,其他的包装类例如Long, Double也都有类似的功能
包装类型除了基本数值类型的包装类之外,还有boolean, char的包装类,这两个类都是普通的封装,并没有继承Number类;
使用包装类的使用,进行两个对象的判断,需要使用equals方法进行判断,不可以使用==,当Integer值的范围在-128到127(包含)之间的时候,使用==返回true,但是不在这个返回的时候,返回false;
② java 包装类 自动装箱问题
==比的是地址。byte取值范围的值(-127~128)指向的是同一个地址,a和c都是110,也就是说a和c指向同一个地址,所以相等。而b明显不同,new Integer是在内存中重新开辟了一块空间。
③ 求java自动打包和自动拆包功能的解释,谢谢。
简单来说就是:简单类型比如int类型“10”,如果想作为一个对象来用,手动写代码的话就是
Integer a = new Integer(10);
然后a就是一个数值型的对象了。
而自动打包和自动拆包,其实就是指java可以自动完成上述的步骤。
你可以对一个方法比如:
void test(Integer a);这样一个方法直接调用如test(10);java自动将10转成Integer类型。
自动拆包则相反。
④ java中的包装类如何使用呢
把它当成基本类型用就行了,jdk1.5以后就提供了自动拆箱和装箱。所以建议以后能用基本类型的地方就换成相应的包装类,这样更符合面向对象的思想。
包装类还提供了一些功能很有用的方法,你找常见的几个试试,随着学习时间的推移,慢慢你会掌握啦。
⑤ 什么是java的自动包装功能
自动拆装箱 是JDK1.5中新增加的内容 ,它可以将基本数据类型自动转换为它的包装类。或者相反。
基本数据类型与包装类对应关系如下:
short Short
int Integer
long Long
char Char
float Float
double Double
boolean Boolean
⑥ JAVA自动包装的详解
这里的装箱应该理解为 封装对象 ,即把基础数据类型(如 int)转换成基础类型封装类的对象(如 new Integer())
拆箱就是装箱的反过程,即把基础类型封装类的对象(如 new Integer())转换为基础数据类型(如 int)。
装箱: Integer a = new Integer() ;
a = 100 ; //1.5以前不支持为对象如此赋值
拆箱: int b = new Integer(100) ;
自动拆装箱 是JDK1.5中新增加的内容 ,它可以将基本数据类型自动转换为它的包装类。或者相反。
基本数据类型与包装类对应关系如下:
short Short
int Integer
long Long
char Char
float Float
double Double
boolean Boolean
⑦ java中什么是自动包装什么是自动解包
这是java面向对象的一个折中方案,由于要灌输一切皆是对象的思想,而java中又存在8种基本数据类型不在对象之列,所以java给其分别定义了包装类,而自动包装和自动解封是只是方便这些基本数据类型和其对应的包装类的自动转换,其实没什么的,你见了包装类对象直接当成基本类型用就行了
⑧ java包装类是什么_
在Java中我们经常会见到一些基本的数据类型,比如整数类型(int),小数类型(double,float)等,但是Java是一门面向对象的语言,很多的类型都是以对象的形式展现,像这些数据类型也可以有自己的对象;每个类型的对应包装类型为:int-> Integer double->Double float->Float char->Character short->Short boolean->Boolean byte->Byte;
我们用包装类将这些类型封装好之后,就可以使用对象的一些属性和方法,可以方便的操作这些对象;
在这些包装类中,我们可以将这些包装类对象和基本数据类型进行转换,也叫做装箱操作和拆箱操作:装箱操作就是将基本数据类型转换为包装类型,例如将基本数据类型int转换成包装类Integer,装箱操作有两种方式,手动装箱与自动装箱,自动装箱就是直接将基本数据类型赋值给包装类型对象即可;手动装箱就是创建一个包装类对象,然后将值赋值给该对象;
int value1 = 10;
Integer value2 = value1; // 自动装箱
Integer value3 = new Integer( value1 ); // 手动装箱
有了装箱操作也就有拆箱操作,拆箱操作的意思就是将包装类型转换为基本数据类型;拆箱操作也有两种方式:手动拆箱与自动拆箱;
int value4 = value2; // 自动拆箱,直接将包装类对象赋值给基本数据类型变量
Int value5 = value2.intValue(); // 手动拆箱,调用包装类的intValue()方法,获取变量值;
包装类也是一个普通的类,当然也有类的基本属性,方法;数值类型的包装类继承的父类是Number类,这个类里面有一些基本的方法,比如获取intValue的值,longValue的值等等;
包装类继承Number之后,也会有一些自己的属性方法,比如Integer类有自己的一些属性,可以将整数转换为字符串,也可以将字符串转换成整数等操作;
Integer常用方法
比较两个数的大小,如果第一个数小于第二个数返回-1;如果两个数相等返回0;如果第一个数大于第二个数返回1;
public static int compare(int x, int y)
将数值字符串转换为数字,如果传入的参数中包含非数字的字符,则会报出异常
public static int parseInt(String s)
将整数类型转换为字符串类型
public String toString()
valueOf返回Integer类型的数据,根据参数返回不同的结果
public static Integer valueOf(String s, int radix)
public static Integer valueOf(String s)
public static Integer valueOf(int i)
除了Integer之外,其他的包装类例如Long, Double也都有类似的功能
包装类型除了基本数值类型的包装类之外,还有boolean, char的包装类,这两个类都是普通的封装,并没有继承Number类;
使用包装类的使用,进行两个对象的判断,需要使用equals方法进行判断,不可以使用==,当Integer值的范围在-128到127(包含)之间的时候,使用==返回true,但是不在这个返回的时候,返回false;