「java自动包装」JAVA包装
今天给各位分享java自动包装的知识,其中也会对JAVA包装进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、什么是java中的包装类
- 2、java基本数据类型的包装类最大的好处?说全一点谢谢!
- 3、什么是java的自动包装功能
- 4、JAVA自动包装的详解
- 5、java 包装类 自动装箱问题
- 6、java包装类 问题
什么是java中的包装类
包装类就是基本数据类型的那8种:
Java中的包装器类有两个主要的目的:
1、提供一种机制,将基本值“包装”到对象中,从而使基本值能够包含在为对象而保留的操作中,比如添加到Collections 中,或者从带对象返回值的方法中返回。注意,java5增加了自动装箱和拆箱,程序员过去需手工执行的许多包装操作,现在可以由java自动处理了。
2、为基本值提供分类功能。这些功能大多数于各种转换有关:在基本值和String对象间相互转换,在基本值和String对象之间按不同基数转换,如二进制、八进制和十六进制。
java基本数据类型的包装类最大的好处?说全一点谢谢!
你好,我下面说几点吧,也欢迎大家补充。
1. 更加体现了面向对象的特点,有人说java不是纯面向对象语言,纯度只有百分之九十,就是因为java中仍然使用了基本数据类型和static。而包装类的出现,则更好的体现了面向对象的设计理念。
2. 假如我有一个方法,接收一个Object 类型的参数,那么我们的基本数据类型就不可以做为参数传入这个方法,比如我们最常用的集合类,这些集合类中的元素是不是都是对象啊?要是没有包装类,那么基本数据类型就不可以保存在集合中,仍然需要我们自己写一个类,将这些数据做为这个类的成员变量封装起来,天!太繁琐了。而包装类的出现就成了必然。
3.在jdk1.5之后,出现了自动拆箱和自动装箱,大大的缩减了繁琐的代码,更加方便了成员员的编程。
什么是java的自动包装功能
自动装箱就是将基本数据类型自动转换为相对应的包装类型,如要创建一个Integer integer 使他值为2,正常应该这样写 Integer integer=new Integer(2);但是有了自动装箱后,我们直接这样写 Integer integer=2一样不会报错,编译器会自动调用相关方法,完成转换,这就是自动装箱。
对应的拆箱就是相反的。
JAVA自动包装的详解
◆什么是自动包装?
自动包装,又称自动封装,即把基础数据类型(如 int)转换成基础类型封装类的对象(如 new Integer() )
拆箱就是装箱的反过程,即把基础类型封装类的对象(如 new Integer())转换为基础数据类型(如 int)。
装箱: Integer a = new Integer() ;
a = 100 ; //1.5以前不支持为对象如此赋值
拆箱: int b = new Integer(100) ;
◆为什么要自动封装?
1、因为封装的数据类型就是一个对象,可以拥有属性和方法,有了这些属性和方法,我们就可以用它们来处理数据.比如Integer对象里的parseInt(String s),可以把字符串转换成int类型等
2、java是面向对象的一门语言,到处都是对象,有些时候我们需要传递的值必须是对象类型的.比如:structs框架里的DynaActionForm,当JSP页面数据传到dform中时,我们需要(Integer)dform.get("qty");,而(int)dform.get("qty");这样是错误的.
◆8种基本数据类型及其封装类
.type .Class
boolean Boolean
byte Byte
char Character
double Double
float Float
int Integer
long Long
short Short
java 包装类 自动装箱问题
Java包装类,Wrapper~由于在java中,数据类型总共可分为两大种,基本数据类型(值类型)和类类型(引用数据类型)。基本类型的数据不是对象,所以对于要将数据类型作为对象来使用的情况,java提供了相对应的包装类。对于8种数据类型的包装类分别是:
int---Integer
char---Character
float---Float
double---Double
byte---Byte
short---Short
long---Long
boolean--Boolean
所谓装箱,就是把基本类型用它们相对应的引用类型包起来,使它们可以具有对象的特质,如我们可以把int型包装成Integer类的对象,或者把double包装成Double,等等。
所谓拆箱,就是跟装箱的方向相反,将Integer及Double这样的引用类型的对象重新简化为值类型的数据
J2SE5.0后提供了自动装箱与拆箱的功能,此功能事实上是编译器来帮您的忙,编译器在编译时期依您所编写的方法,决定是否进行装箱或拆箱动作。
自动装箱的过程:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型的包装中。
自动拆箱的过程:每当需要一个值时,被装箱对象中的值就被自动地提取出来,没必要再去调用intValue()和doubleValue()方法。
自动装箱,只需将该值赋给一个类型包装器引用,java会自动创建一个对象。例如:
Integer i=100; //没有通过使用new来显示建立,java自动完成。
自动拆箱,只需将该对象值赋给一个基本类型即可。
例如:
int j=i;
int i = 10;
Integer j =new Integer(i); //手动装箱操作
int k = j.intValue(); //手动拆箱操作
int i = 11;
Integer j = i; //自动装箱
int k = j //自动拆箱
java包装类 问题
1.java中的原始类型数据,都是拷贝,不是引用。所以Integer a=10; Integer b=a; a=20; System.out.println(b); 最后b是10.
2.java中分为堆和栈,也就是常量池和对象池
String a="aaa"; 和String a=new String("aaa"); 前者放到常量池中,后者放到对象池中。
3.jdk1.5开始有自动装箱的机制。 Double a=10.1; 和 Double a=new Double(10.1);其实没什么区别
java自动包装的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于JAVA包装、java自动包装的信息别忘了在本站进行查找喔。
发布于:2022-11-29,除非注明,否则均为
原创文章,转载请注明出处。