美文网首页
java__基本类型及自动拆箱装箱

java__基本类型及自动拆箱装箱

作者: DouMarK | 来源:发表于2019-10-16 11:10 被阅读0次

java基本类型有八种,其中可以分为三种:

  1. 字符类型:char
  2. 布尔类型:boolean
  3. 整数类型:byte,short,int,long
  4. 浮点数:float,double

ps:java对于类型范围溢出没提示,而且string属于特殊字符串类型

类型 字节单位(1字节范围为2-7~(27-1))
boolean,byte 1
short,char 2
int,float 4
long,double 8

java自动装箱和拆箱

概述:把基本类型打包成包装类称为装箱(boxing),把包装类拆装成基本类型称为拆箱(unboxing)

包装类的作用:把基本类型打包成面向对象的类,因为某些类或方法等,不能使用基本类型只能使用对象,如集合类,所以在java中有一些方法可以把基本类型装箱。

java自动装箱方法:
// 直接声明包装类型
Integer i = 10;
// 使用包装方法
int i = 10;
Integer.value(i);
类型 包装类名
int Integer
char Charater
boolean Boolean
byte Byte
short Short
long Long
float Float
double Double
java自动拆箱方法:
//  使用包装类内自带的拆箱方法invalue();
Integer i = 10;
int b = Integer.invalue(i);
包装类缓存机制

当通过自动装箱机制创建包装类对象时,首先会判断数值是否在-128—-127的范围内,如果满足条件,则会从缓存(常量池)中寻找指定数值,若找到缓存,则不会新建对象,只是指向指定数值对应的包装类对象,否则,新建对象。用这种方法去降低内存使用率。

Integer a = 100;
Integer b = 100;
System.out.println(a==b); // true
System.out.prinln(a.equal(b)); // true

Integer a = 133;
Integer b = 133;
System.out.println(a==b); // false
System.out.prinln(a.equal(true)); // false

第一个a==b为true,因为数值没有超过127,所以a包装类创建后缓存了,b后创建于a一样的数值,所以b对象引用为a的对象
第二个a==b为false,数值超过127,所以并没有进行缓存,所以a==b为false
ps:包装类比较均使用equal()方法对比,不能使用==。否则只要不是缓存相同对象,无论数值是否相等,均为false。

相关文章

  • 三 常用API第二部分——第六节 包装类

    1、包装类的概念 2、装箱与拆箱 装箱:基本类型-->包装类对象拆箱:包装类对象-->基本类型 3、自动装箱与拆箱...

  • Java自动装箱和拆箱,包装类缓存机制和JVM调节

    关于Java自动装箱和拆箱 基本数据(Primitive)类型的自动装箱(autoboxing)、拆箱(unbox...

  • (超详细)Java自动装箱拆箱

    详解自动拆箱与自动装箱 一、 什么是自动装箱、自动拆箱 简单一点说,装箱就是自动将基本数据类型转换为包装器类型,拆...

  • 自动装箱&自动拆箱

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

  • java__基本类型及自动拆箱装箱

    java基本类型有八种,其中可以分为三种: 字符类型:char 布尔类型:boolean 整数类型:byte,sh...

  • java中的自动装箱和拆箱机制

    java中的自动装箱和拆箱机制 概念 自动装箱:将基本数据类型转换为包装器类型 自动拆箱:将包装器类型转换为基本数...

  • 关于 Integer 和装箱、拆箱

    一、关于拆箱和装箱 装箱 就是自动将基本数据类型转换为包装器类型;拆箱 就是自动将包装器类型转换为基本数据类型 具...

  • JAVA-收集-持续更新...

    1、阐述下对象的自动装箱和拆箱 2 基本数据类型的自动装箱(autoboxing)、拆箱(unboxing)是自...

  • java基础知识汇总(二)

    11.自动装箱与拆箱 装箱:将基本类型用它们对应的引用类型包装起来; 拆箱:将包装类型转换为基本数据类型; 12....

  • java JDK1.5版本新特性详解

    1:自动装箱与拆箱: 自动装箱:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型的包装中。 自动拆...

网友评论

      本文标题:java__基本类型及自动拆箱装箱

      本文链接:https://www.haomeiwen.com/subject/ldjymctx.html