Java中的基本类型和包装类

Java中基本数据类型与包装类型有

  基本类型     包装器类型  
boolean Boolean
char Character
int Integer
byte Byte
short Short
long Long
float Float
double Double

存在基本类型对应包装类的原因:

  基本数据类型存方在栈中,效率更高

  new出来的对象存在于堆中(通过栈中的引用来使用这些对象),是一个对象,因此具有更多的诸如“转换”的方法

包装类型的意义

  Java是一个面相对象的编程语言,基本类型并不具有对象的性质,为了让基本类型也具有对象的特征,就出现了包装类型(如我们在使用集合类型Collection时就一定要使用包装类型而非基本类型),它相当于将基本类型“包装起来”,使得它具有了对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作。

另外,当需要往ArrayList,HashMap中放东西时,像int,double这种基本类型是放不进去的,因为容器都是装object的,这是就需要这些基本类型的包装器类了。

基本类型和包装类转换:

以int和Integer为例(Java5前):

1.int转Integer

int i = 0;
Integer ii = new Integer(i);

2.Integer转int

Integer ii = new Integer(0);
int i = ii.intValue(); 

基本类型和包装类的区别:

1. 声明方式不同:

基本类型不使用new关键字,而包装类型需要使用new关键字来在堆中分配存储空间;

2. 存储方式及位置不同:

基本类型是直接将变量值存储在栈中,而包装类型是将对象放在堆中,然后通过引用来使用;

3. 初始值不同:

基本类型的初始值如int为0,boolean为false,而包装类型的初始值为null;‘

4. 使用方式不同:

基本类型直接赋值直接使用就好,而包装类型在集合如Collection、Map时会使用到。

自动装箱和拆箱

在Java SE5之前,如果要生成一个数值为10的Integer对象,必须这样进行:

Integer i = new Integer(10);

而在从Java SE5开始就提供了自动装箱的特性,如果要生成一个数值为10的Integer对象,只需要这样就可以了:

Integer i = 10;

这个过程中会自动根据数值创建对应的 Integer对象,这就是装箱。

那什么是拆箱呢?顾名思义,跟装箱对应,就是自动将包装器类型转换为基本数据类型:

Integer i = 10;  //装箱
int n = i;   //拆箱

装箱就是  自动将基本数据类型转换为包装器类型;拆箱就是  自动将包装器类型转换为基本数据类型。

原文地址:https://www.cnblogs.com/ynhwl/p/9785780.html

时间: 2024-10-09 23:44:13

Java中的基本类型和包装类的相关文章

Java中的基本类型和包装类型区别

首先看一下几个测试题,验证一下java中对基本类型和包装类型的理解,看看最后输出的答案对不对,答案在这篇博客中哦: // 第一题: 基本类型和包装类型 int a = 100; Integer b = 100; System.out.println(a == b); // 第二题: 两个包装类型 Integer c = 100; Integer d = 100; System.out.println(c == d); // 第三题 c = 200; d = 200; System.out.pri

Java中的基本类型和引用类型变量的区别

基本类型: 基本类型自然不用说了,它的值就是一个数字,一个字符或一个布尔值. 引用类型: 是一个对象类型,值是什么呢?它的值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组值. 举例说明: int  a:   a=250: //声明变量a的同时,系统给a分配了空间. 引用类型就不是了,只给变量分配了引用空间,数据空间没有分配,因为谁都不知道数据是什么,整数,字符?我们看一个错误的例子: MyDate today: today.day = 4: //发生错误,因为tod

Java基础(35):装箱与拆箱---Java 中基本类型和包装类之间的转换

基本类型和包装类之间经常需要互相转换,以 Integer 为例(其他几个包装类的操作雷同哦): 在 JDK1.5 引入自动装箱和拆箱的机制后,包装类和基本类型之间的转换就更加轻松便利了. 那什么是装箱和拆箱呢?我们分别来看下 装箱:把基本类型转换成包装类,使其具有对象的性质,又可分为手动装箱和自动装箱 拆箱:和装箱相反,把包装类对象转换成基本类型的值,又可分为手动拆箱和自动拆箱 下面的代码的例子演示了装箱与拆箱的过程: 结果为: 1 public class HelloWorld { 2 pub

Java基础(34):Java中基本数据类型的包装类(主要为了不同数据类型之间更方便的进行转换)

相信各位小伙伴们对基本数据类型都非常熟悉,例如 int.float.double.boolean.char 等.基本数据类型是不具备对象的特性的,比如基本类型不能调用方法.功能简单...,为了让基本数据类型也具备对象的特性, Java 为每个基本数据类型都提供了一个包装类,这样我们就可以像操作对象那样来操作基本数据类型. 基本类型和包装类之间的对应关系: 包装类主要提供了两大类方法: 1. 将本类型和其他基本类型进行转换的方法 2. 将字符串和本类型及包装类互相转换的方法 我们将在后面的小节逐步

Java中基本数据类型和包装类

参考:深入剖析Java中的装箱和拆箱; Java中基本数据类型和包装类互转中 缓冲机制的使用; java学习笔记:装箱和拆箱,包装器和缓冲池 Java 各 类型数据在内存中分配情况详解 一 java内存分配 这里只是在网上找的一些资料; Java 中的数据类型分为 1. 基本类型(原始数据类型) byte short int long float double char boolean 基本类型的变量持有原始值. 2. 符合数据类型(引用类型),引用类型持有引用值(即对某个对象的引用,而非对象本

java基本类型和包装类的区别

  int 是基本类型,直接存数值  Integer是类,产生对象时用一个引用指向这个对象 Java把内存划分成两种:一种是栈内存,另一种是堆内存  在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配  而实际的对象是在存储堆内存中  即  int i = 5;//直接在栈中分配空间  Integer i = new Integr(5);//对象是在堆内存中,而i(引用变量)是在栈内存中  在堆中分配的内存,由java虚拟机的自动垃圾回收器来管理. 因为在堆中分配空间所需的

java基本类型和包装类的区别(转)

int 是基本类型,直接存数值 Integer是类,产生对象时用一个引用指向这个对象 Java把内存划分成两种:一种是栈内存,另一种是堆内存 在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配 而实际的对象是在存储堆内存中 即 int i = 5;//直接在栈中分配空间 Integer i = new Integr(5);//对象是在堆内存中,而i(引用变量)是在栈内存中 在堆中分配的内存,由java虚拟机的自动垃圾回收器来管理. 因为在堆中分配空间所需的时间远大于从栈中分

Javascript中的基本类型和引用类型

一.基本类型和引用类型概述 js中数据类型的值包括:基本类型值和引用类型值 基本数据类型:undefined;null;boolean;number;string 引用类型值:保存在内存中,js不允许直接访问内存位置,因此时操作引用而不是实际对象 二.如何检测数据类型 1.基本数据类型的检测:使用typeof var s = "AAA"; alert(typeof s); //返回string `     2.引用类型(对象类型)检测:使用instanceof alert(person

Java 八种基本类型和基本类型封装类

1.首先,八种基本数据类型分别是:int.short.float.double.long.boolean.byte.char:   它们的封装类分别是:Integer.Short.Float.Double.Long.Boolean.Byte.Character.   数据类型  包 装 类 字节长度 默 认 值 int Integer 4 0 short Short 2 0 long Long 8 0l或0L byte Byte 1 0 float Float 4 0.0F或0.0f doubl