参考http://how2j.cn/k/number-string/number-string-wrap/22.html

封装类

所有的基本类型,都有对应的类类型
比如int对应的类是Integer

这种类就叫做封装类

package digit;

public class TestNumber {

    public static void main(String[] args) {
int i = ; //把一个基本类型的变量,转换为Integer对象
Integer it = new Integer(i);
//把一个Integer对象,转换为一个基本类型的int
int i2 = it.intValue(); }
}

Number类

数字封装类有
Byte,Short,Integer,Long,Float,Double

这些类都是抽象类Number的子类

package digit;

public class TestNumber {

    public static void main(String[] args) {
int i = ; Integer it = new Integer(i);
//Integer是Number的子类,所以打印true
System.out.println(it instanceof Number);
}
}

基本类型转封装类

package digit;

public class TestNumber {

    public static void main(String[] args) {
int i = ; //基本类型转换成封装类型
Integer it = new Integer(i); }
}

封装类转基本类型

package digit;

public class TestNumber {

    public static void main(String[] args) {
int i = ; //基本类型转换成封装类型
Integer it = new Integer(i); //封装类型转换成基本类型
int i2 = it.intValue(); }
}

自动装箱

不需要调用构造方法,通过=符号自动把 基本类型 转换为 类类型 就叫装箱

package digit;

public class TestNumber {

    public static void main(String[] args) {
int i = ; //基本类型转换成封装类型
Integer it = new Integer(i); //自动转换就叫装箱
Integer it2 = i; }
}

自动拆箱

不需要调用Integer的intValue方法,通过=就自动转换成int类型,就叫拆箱

package digit;

public class TestNumber {

    public static void main(String[] args) {
int i = ; Integer it = new Integer(i); //封装类型转换成基本类型
int i2 = it.intValue(); //自动转换就叫拆箱
int i3 = it; }
}

int的最大值,最小值

int的最大值可以通过其对应的封装类Integer.MAX_VALUE获取

应该是自动装箱必须一一匹配。

但是拆箱,只要拆出来的基本类型,其范围小于左侧基本类型的取值范围,就可以。

比如:

 Byte b = ;

Short s = ;

Integer i = ; Long l = 5l;

long x;

x= b;

x=s;

x=i;

x=l; 

右边是类类型,左边的x是long基本类型,那么也可以自动拆箱。

以x=b为例,b自动拆箱出来时byte基本类型,byte的取值范围小于long,那么就不会出现编译错误。

java之装箱拆箱的更多相关文章

  1. java自动装箱拆箱总结

    对于java1.5引入的自动装箱拆箱,之前只是知道一点点,最近在看一篇博客时发现自己对自动装箱拆箱这个特性了解的太少了,所以今天研究了下这个特性.以下是结合测试代码进行的总结. 测试代码: int a ...

  2. JAVA自动装箱拆箱与常量池

    java 自动装箱与拆箱 这个是jdk1.5以后才引入的新的内容,作为秉承发表是最好的记忆,毅然决定还是用一篇博客来代替我的记忆: java语言规范中说道:在许多情况下包装与解包装是由编译器自行完成的 ...

  3. Java 自动装箱/拆箱

    自动装箱/拆箱大大方便了基本类型(8个基本类型)数据和它们包装类的使用 自动装箱 : 基本类型自动转为包装类(int >> Integer) 自动拆箱: 包装类自动转为基本类型(Integ ...

  4. Java自动装箱拆箱

    一.装箱.拆箱定义 如果一个int型量被传递到需要一个Integer对象的地方,那么,编译器将在幕后插入一个对Integer构造方法的调用,这就叫做自动装箱.而如果一个Integer对象被放到需要in ...

  5. java的装箱拆箱是什么?

    是什么? 自动装箱就是Java自动将原始类型值转换成对应的对象,比如将int的变量转换成Integer对象,这个过程叫做装箱,反之将Integer对象转换成int类型值,这个过程叫做拆箱. 为什么 把 ...

  6. 深入理解Java自动装箱拆箱机制

    1.自动装箱与拆箱的定义 装箱就是自动将基本数据类型转换为包装器类型(int-->Integer): 拆箱就是自动将包装器类型转换为基本数据类型(Integer-->int). Java中 ...

  7. 那些年一起踩过的坑 — java 自动装箱拆箱问题

    坑在哪里?   我们都知道Java的八种基本数据类型:int, short, long, double, byte, char, float, boolean   分别有各自对应的包装类型:Integ ...

  8. Java中的装箱拆箱

    一)  装箱与拆箱 Java中有概念是一切皆对象,因为所有的类都默认继承自Object.但是,对于数据类型是个例外,如short,int,long,float,double, byte,char,bo ...

  9. Java 装箱 拆箱

    Java 自动装箱与拆箱   ??什么是自动装箱拆箱 基本数据类型的自动装箱(autoboxing).拆箱(unboxing)是自J2SE 5.0开始提供的功能. 一般我们要创建一个类的对象的时候,我 ...

随机推荐

  1. boost::noncopyable

    /** * boost::noncopyable 实现单例不用麻烦了,直接从这个继承就行了 */ #include <boost/noncopyable.hpp> class myclas ...

  2. PECL的安装和使用

    下载并安装pear脚本 cd /usr/local/php/bin/ curl -o go-pear.php http://pear.php.net/go-pear.phar ./php go-pea ...

  3. 转换(旋转)transform

    div { transform:rotate(180deg); -ms-transform:rotate(180deg); /* IE 9 */ -moz-transform:rotate(180de ...

  4. API的理解和使用——集合

    集合类型的命令及时间复杂度  区间 命令 功能 时间复杂度  集合内 sadd key element [element ... ]  添加元素 O(k),k是元素个数 srem key elemen ...

  5. ios点击链接直接跳转到 App Store 指定应用下载页面

    //跳转到应用页面 NSString  *str = [NSString stringWithFormat:@"http://itunes.apple.com/us/app/id%d&quo ...

  6. mysql服务突然不能启动

    mysql之前一直用的好好的,今天突然不能启动.前几天改过my.ini文件,在[mysqld]下添加了default-character-set=utf8.查看日志发现是添加的那句话的错误,删除.并且 ...

  7. hello vue不显示

    本身是做java后端开发的,但对任何技术都感兴趣.于是尝试了下最近国内比较火的vue框架. 在使用官网的例的时候子就卡壳了,写了个html,第一个Hello VUE!就是出不来,只显示{{messag ...

  8. 1 准备学习redis

    首先,当然是搜索相关资料了 1 Redis 设计与实现 http://redisbook.com/ 2 Redis快速入门 http://www.yiibai.com/redis/redis_quic ...

  9. VLAN(虚拟局域网)划分

    VLAN根据不同的需求,可以有多种划分方式: 一:静态划分 基于端口             按VLAN交换机上的物理端口和内部的PVC(永久虚电路)端口来划分 静态划分安全.可靠,易于配置与维护 二 ...

  10. matlab之sum()函数

    sum(A,1):对矩阵A按照列求和: sum(A,2):对矩阵A按照行求和: 默认情况下,是按照列求和的. 举例: A=[1 2 3;1 2 3] sum(A,1)的结果: ans = 2 4 6 ...