java中的基本数据类型与封装类
2014-10-18 18:41
288 查看
点击打开链接
Java提供了一组基本数据类型,包括boolean, byte, char, short, int, long, float, double, void. 同时,java也提供了这些类型的封装类,分别为Boolean, Byte, Character, Short, Integer, Long, Float, Double, Void。
既然提供了基本类型,为什么还要使用封装类呢?
某些情况下,数据必须作为对象出现,此时必须使用封装类来将简单类型封装成对象。
比如,如果想使用List来保存数值,由于List中只能添加对象,因此我们需要将数据封装到封装类中再加入List。在JDK5.0以后可以自动封包,可以简写成list.add(1)的形式,但添加的数据依然是封装后的对象。
另外,有些情况下,我们也会编写诸如func(Object o)的这种方法,它可以接受所有类型的对象数据,但对于简单数据类型,我们则必须使用封装类的对象。
某些情况下,使用封装类使我们可以更加方便的操作数据。比如封装类具有一些基本类型不具备的方法,比如valueOf(), toString(), 以及方便的返回各种类型数据的方法,如Integer的shortValue(), longValue(), intValue()等。
基本数据类型与其对应的封装类由于本质的不同,具有一些区别:
基本数据类型只能按值传递,而封装类按引用传递。
基本类型在堆栈中创建;而对于对象类型,对象在堆中创建,对象的引用在堆栈中创建。基本类型由于在堆栈中,效率会比较高,但是可能会存在内存泄漏的问题。
Java提供了一组基本数据类型,包括boolean, byte, char, short, int, long, float, double, void. 同时,java也提供了这些类型的封装类,分别为Boolean, Byte, Character, Short, Integer, Long, Float, Double, Void。
既然提供了基本类型,为什么还要使用封装类呢?
某些情况下,数据必须作为对象出现,此时必须使用封装类来将简单类型封装成对象。
比如,如果想使用List来保存数值,由于List中只能添加对象,因此我们需要将数据封装到封装类中再加入List。在JDK5.0以后可以自动封包,可以简写成list.add(1)的形式,但添加的数据依然是封装后的对象。
另外,有些情况下,我们也会编写诸如func(Object o)的这种方法,它可以接受所有类型的对象数据,但对于简单数据类型,我们则必须使用封装类的对象。
某些情况下,使用封装类使我们可以更加方便的操作数据。比如封装类具有一些基本类型不具备的方法,比如valueOf(), toString(), 以及方便的返回各种类型数据的方法,如Integer的shortValue(), longValue(), intValue()等。
基本数据类型与其对应的封装类由于本质的不同,具有一些区别:
基本数据类型只能按值传递,而封装类按引用传递。
基本类型在堆栈中创建;而对于对象类型,对象在堆中创建,对象的引用在堆栈中创建。基本类型由于在堆栈中,效率会比较高,但是可能会存在内存泄漏的问题。
相关文章推荐
- java中八种基本数据类型以及它们的封装类,String类型的一些理解
- java 中类的Class实例的获取和每个 基本数据类型的封装类 暑假第十天
- Java基本数据类型的类封装
- java基本数据类型和其封装类
- java中八种基本数据类型以及它们的封装类,String类型的一些理解
- java八种基本数据类型的大小,以及他们的封装类
- Java九种基本数据类型的大小,以及他们的封装类。
- java基本数据类型与字符串之间的转换(基本数据类型、对象封装类、自动装箱、自动拆箱)
- Java8种基本数据类型的封装,Cache
- 关于java基础--基本数据类型封装以及String类方法讲解
- java 中类的Class实例的获取和每个 基本数据类型的封装类 暑假第十天
- java基本数据类型与封装类型详解(int和Integer区别)
- Java中基本类型和封装类型数据与堆、栈的关系
- java基本数据类型与封装类型详解(int和Integer区别)
- java基本数据类型与封装类型详解(int和Integer区别)
- 【JAVA学习】java基本数据类型与字符串之间的转换(基本数据类型、对象封装类、自动装箱、自动拆箱)
- java基本数据类型封装类(Integer类)
- java基础(一)九种基本数据类型的大小,以及他们的封装类
- JAVA9种基本数据类型的大小,以及他们的封装类
- JAVA中基本数据类型和封装类的区别Integer和Double为例