为什么需要包装类?

JAVA是支持跨平台的。可以在服务器 也可以在手机上运行

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

包装类 将数据类型转换成对象 在 堆中  利于操作

  1. package cn.bjsxt.wrapperclass;
  2. /**
  3. * wrapperclass包装类
  4. * 包装类位置lang包 不需要导入
  5. *
  6. * @author Administrator
  7. *
  8. */
  9. public class Test01 {
  10. public static void main(String[] args) {
  11. //将1000转成对象
  12. Integer i = new Integer();
  13. //整数的最大值
  14. System.out.println(Integer.MAX_VALUE);
  15. //用16进制表示
  16. System.out.println(Integer.toHexString(i));
  17. // 将字符串转成整数 赋值给i2
  18. Integer i2 = Integer.parseInt("");
  19. System.out.println(i2);
  20. //+10
  21. System.out.println(i2+);
  22. Integer i3 = new Integer("");
  23. System.out.println(i3);
  24. Integer i4 = Integer.parseInt("");
  25. System.out.println(i4);
  26. //数字变成字符串 直接拼接
  27. String str = +"";
  28. System.out.println(str);
  29. }
  30. }

自动装箱和自动拆箱

auto-boxing and unboxing

自动装箱

基本类型就自动封装到与他相同类类型的包装类中,如:

Integer  i =1000;

本质是 编译器为 我们添加了

Inteager i = new Integer(1000);

自动拆箱

包装类对象自动转成基本数据类型。如:

int a = new Inteager(1000);

本质是, 编译器为我们添加了

int a = new Integer(1000).intValue();

  1. public class test02 {
  2. public static void main(String[] args) {
  3. //自动装箱
  4. //Integer i = new Integer(1000);
  5. Integer i = ;//JDK1.5之后 编译器帮我们写 Integer i = new Inteager(1000);
  6. Integer b = ;
  7. //自动拆箱
  8. int c = new Integer();//编译器帮我写了 new Integer(1000).intValue();
  9. int d = b;//相当于 int d = b.intValue();
  10.  
  11. System.out.println(d);
  12.  
  13. Integer a3 =;
  14. Integer a4 =;
  15. System.out.println(a3==a4);//false 因为是不同对象 地址不同
  16. System.out.println(a3.equals(a4)); //true 值相等
  17.  
  18. System.out.println("#######################");
  19. //[-128,127]之间的数 仍然按照基本数据类型来处理 为了提高效率 基本类型比对象快
  20. //他也封装了 不过在运行时 又变回基本数据类型 为了效率
  21. Integer a =;
  22. Integer a2 =;
  23. System.out.println(a==a2);//ture 为什么?上面是false 这里是ture 说好的不同对象呢
  24. System.out.println(a.equals(a2));
  25.  
  26. Integer a5=-;
  27. Integer a6 =-;
  28. System.out.println(a5==a6);//ture 为什么?上面是false 这里是ture 说好的不同对象呢
  29. System.out.println(a5.equals(a6));
  30.  
  31. System.out.println("########################");
  32.  
  33. Integer a7=;
  34. Integer a8 =;
  35. System.out.println(a7==a8);//false
  36. System.out.println(a7.equals(a8));
  37.  
  38. Integer a9=-;
  39. Integer a10 =-;
  40. System.out.println(a9==a10);//false
  41. System.out.println(a9.equals(a10));
  42.  
  43. }
  44. }

常用类一一基本数据类型的包装类(WrapperClass)一一Byte Short nteger Long Float Double Character Boolean的更多相关文章

  1. Java基础——常用类(Date、File)以及包装类

    本文要点: 基本数据类型的包装类 字符串相关类: 不可变字符序列:String 可变字符序列:StringBuffer.StringBuilder 时间处理相关类: Date DateFormat.S ...

  2. 常用类Math,StringBuffer,包装类,Date

    ----------- StringBuffer --------------- StringBuffer是字符串缓冲区. 是一个容器. 特点: 1,长度是可变化的. 2,可以直接操作多个数据类型. ...

  3. Java——常用类(基础类型数据包装类)

    [包装类]   包装类(如Integer.Double等)这些类封装了一个相应的基础数据类型数值,并为其提供了一系列操作.     例如:java.lang.Integer类提供了以下构造方法:   ...

  4. Java基础(二) 基本类型数据类型、包装类及自动拆装箱

    我们知道基本数据类型包括byte, short, int, long, float, double, char, boolean,对应的包装类分别是Byte, Short, Integer, Long ...

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

    参考:深入剖析Java中的装箱和拆箱; Java中基本数据类型和包装类互转中 缓冲机制的使用; java学习笔记:装箱和拆箱,包装器和缓冲池 Java 各 类型数据在内存中分配情况详解 一 java内 ...

  6. JAVA基础--常用类 String,StringBuffer, 基础数据类型包装类, Math类, Enum类

    字符串相关类: String, StringBuffer String类为不可变的字符序列 String s1="hello"; String s2="hello&quo ...

  7. java基本数据类型的包装类

    基本类型对应的包装类 byte(Byte).short(Short).int(Integer).long(Long).float(Float).double(Double).char(Characte ...

  8. [Java学习]常用类-包装类型

    八种基本类型对应的包装类 Java中的数据类型由八种基本类型,以及引用类型组成. byte short int long float double boolbean char Object 为了方便, ...

  9. Java的八种基本数据类型及其包装类

    Java有八种基本数据类型,所谓基本类型就是说存储时仅存在栈中,那么与之相对就是引用类型,引用类型既存在栈里又存在堆里,栈内存放堆内地址. 八种基本类型分别为byte short int long f ...

随机推荐

  1. VS2010/MFC编程入门系列教程 (转)

    http://www.jizhuomi.com/school/  鸡啄米编程课堂 http://www.jizhuomi.com/software/257.html http://blog.csdn. ...

  2. thinkphp 3.2.3在nginx+php下的url重写配置经验

    环境:centos7.2+lnmp1.3(nginx+php7.0+mysql5.5) 进入服务器配置路径:cd /usr/local/nginx/conf/nginx.conf 修改nginx.co ...

  3. linux 标准I/O (二)

    <Uinx 环境高级编程笔记>   以前经常遇到两种I/O操作 一类是f打头的fopen, fread, fwrite 一类是没有f打头的open, read, fwrite 原来一个是U ...

  4. C# 正则表达式入门

    转自:http://www.cnblogs.com/KissKnife/archive/2008/03/23/1118423.html 另外推荐一篇学正则表达式的文章:http://www.unibe ...

  5. 汇编,浮点运算符,fldpi,fmul等指令说明.

    协处理器指令系统 协处理器共有68条不同的指令,汇编程序在遇到协处理器指令助记符时,都会将其转换成机器语言的ESC指令,ESC指令代表了协处理器的操作码. 协处理器指令在执行过程中,需要访问内存单元时 ...

  6. linux中uptime命令查看linux系统负载

    阅读目录 uptime cat /proc/loadavg 何为系统负载呢? 进阶参考 uptime 另外还有一个参数 -V(大写),是用来查询版本的 [appdeploy@CNSZ22PL0088: ...

  7. REST-assured 3发送图片

    上传图片,需要media_id,从上传临时素材获取:https://work.weixin.qq.com/api/doc#10112 https://qyapi.weixin.qq.com/cgi-b ...

  8. docker 基础操作

    1. 安装docker 系统centos 7.2 yum -y install docker-io service docker start 安装完毕后执行 docker version 或者dock ...

  9. 1016 Phone Bills (25 分)

    1016 Phone Bills (25 分) A long-distance telephone company charges its customers by the following rul ...

  10. 安装phoenix时,执行命令./sqlline.py hostname1,hostname2.hostname3..... 时报错 ImportError: No module named argparse

    问题描述: 怎么解决呢: 网上看了好多方法,但是本屌丝表示看不懂啊,没理解人家的博客的博大精深,好吧我们回到正题!! 先切换到root用户下安装这个东西  yum  install  python-a ...