十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
jdk5以上才支持autoboxing,应该是你的jdk版本不够吧。
创新互联公司主要从事成都网站设计、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务通州,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
这两个类型是不能隐式转换的。所以第二种编译不通过。
自动装箱,只需将该值赋给一个类型包装器引用,java会自动创建一个对象。例如:Integer i=100; //没有通过使用new来显示建立,java自动完成。自动拆箱,只需将该对象值赋给一个基本类型即可。
装箱就是把基础类型封装成一个类。比如把int封装成Integer,这时你就不能把他当成一个数了,而是一个类了,对他的操作就需要用它的方法了。拆箱就是把类转换成基础类型。
你可以了解 一下自动装箱与拆箱,integer进行了autounboxing(拆箱) 直接用wrapper类型变量给基本类型变量赋值 ,变成了两个基本类型的比较,Java中的数据类型有两种。
对于java有八种基本数据类型,byte,short,int,long,char,float,double,boolean,他们都对用有自己的包装类,比如byte对应的是Byte,int对应的是Integer,double对应的是Double。
Java有一个类型系统有两个部分组成,包含基本类型(byte、char、int、short、long、float、double、boolean)和引用类型。而基本类型则对应着各自的引用类型,称为装箱的基本类型。
所谓装箱,就是把基本类型用它们相对应的引用类型包起来,使它们可以具有对象的特质,如我们可以把int型包装成Integer类的对象,或者把double包装成Double,等等。
提供一种机制,将基本值“包装”到对象中,从而使基本值能够包含在为对象而保留的操作中,比如添加到Collections 中,或者从带对象返回值的方法中返回。
把一个基本类型包装成一个类,一个是可以使这个类型具有很多可以调用的方法。二个是Java向面像对象语言的靠近。其实Java还不算是很纯的面向对象的语言。真正的面向对象,是没有基本数据类型的。它只有一种类型,就是对象。
1、涉及到隐式转换。对非引用类型赋值的时候,对基本数据类型会进行自动拆箱,然后可以隐式转换为大类型;如第一种。而引用类型则是先装箱再赋值,这时候两个引用类型分别是Integer和Short。这两个类型是不能隐式转换的。
2、装箱就是把基础类型封装成一个类。比如把int封装成Integer,这时你就不能把他当成一个数了,而是一个类了,对他的操作就需要用它的方法了。拆箱就是把类转换成基础类型。
3、java里面有自动装箱和拆装的概念,是对基本数据类型和其封装类的相互转换的描述。当基本类型的数据向其封装类转换时,称为自动装箱。反之,称为拆装。
4、拆箱就是装箱的反过程,即把基础类型封装类的对象(如 new Integer())转换为基础数据类型(如 int)。
5、自动装箱,只需将该值赋给一个类型包装器引用,java会自动创建一个对象。例如:Integer i=100; //没有通过使用new来显示建立,java自动完成。自动拆箱,只需将该对象值赋给一个基本类型即可。