为什么需要包装类?

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

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

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

 package cn.bjsxt.wrapperclass;
/**
* wrapperclass包装类
* 包装类位置lang包 不需要导入
*
* @author Administrator
*
*/
public class Test01 {
public static void main(String[] args) {
//将1000转成对象
Integer i = new Integer();
//整数的最大值
System.out.println(Integer.MAX_VALUE);
//用16进制表示
System.out.println(Integer.toHexString(i));
// 将字符串转成整数 赋值给i2
Integer i2 = Integer.parseInt("");
System.out.println(i2);
//+10
System.out.println(i2+);
Integer i3 = new Integer("");
System.out.println(i3);
Integer i4 = Integer.parseInt("");
System.out.println(i4);
//数字变成字符串 直接拼接
String str = +"";
System.out.println(str);
}
}

自动装箱和自动拆箱

auto-boxing and unboxing

自动装箱

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

Integer  i =1000;

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

Inteager i = new Integer(1000);

自动拆箱

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

int a = new Inteager(1000);

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

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

 public class test02 {
public static void main(String[] args) {
//自动装箱
//Integer i = new Integer(1000);
Integer i = ;//JDK1.5之后 编译器帮我们写 Integer i = new Inteager(1000);
Integer b = ;
//自动拆箱
int c = new Integer();//编译器帮我写了 new Integer(1000).intValue();
int d = b;//相当于 int d = b.intValue(); System.out.println(d); Integer a3 =;
Integer a4 =;
System.out.println(a3==a4);//false 因为是不同对象 地址不同
System.out.println(a3.equals(a4)); //true 值相等 System.out.println("#######################");
//[-128,127]之间的数 仍然按照基本数据类型来处理 为了提高效率 基本类型比对象快
//他也封装了 不过在运行时 又变回基本数据类型 为了效率
Integer a =;
Integer a2 =;
System.out.println(a==a2);//ture 为什么?上面是false 这里是ture 说好的不同对象呢
System.out.println(a.equals(a2)); Integer a5=-;
Integer a6 =-;
System.out.println(a5==a6);//ture 为什么?上面是false 这里是ture 说好的不同对象呢
System.out.println(a5.equals(a6)); System.out.println("########################"); Integer a7=;
Integer a8 =;
System.out.println(a7==a8);//false
System.out.println(a7.equals(a8)); Integer a9=-;
Integer a10 =-;
System.out.println(a9==a10);//false
System.out.println(a9.equals(a10)); }
}

常用类一一基本数据类型的包装类(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. [C++ Primer] : 第12章: 动态内存

    动态内存与只能指针 静态内存用来保存局部static对象, 类static数据成员以及定义在任何函数之外的变量. 栈内存用来保存定义在函数内的非static对象. 分配在静态或栈内存中的对象由编译器自 ...

  2. [C++ Primer] : 第11章: 关联容器

    目录 使用关联容器 关联容器概述 关联容器操作 无序容器 使用关联容器 关联容器与顺序容器有着根本的不同: 关联容器中的元素是按关键字来保存和访问的, 按顺序容器中的元素是按它们在容器中的位置来顺序保 ...

  3. eclipse中的XML文件无法快捷键注释问题

    好多朋友都发现在ME6.0或跟高版本中“Ctrl+Shift+c”或者是“Ctrl+Shift+/”快捷键无论你怎么点,它就是不起作用,恼火吧? 百度 还是 google 都没有找到 合理的说法,更有 ...

  4. python给字典排序

    应用场景: 统计一篇文章中单词的出现频率,然后进行排序 利用sorted函数,返回一个已经排序好的list,但不改变原来的数据结构 In [1]: dt = {'a':3,'b':2,'c':1} I ...

  5. spring boot学习(7) SpringBoot 之表单验证

    第一节:SpringBoot 之表单验证@Valid 是spring-data-jpa的功能:   下面是添加学生的信息例子,要求姓名不能为空,年龄大于18岁.   贴下代码吧: Student实体: ...

  6. js中replace的用法(两种常用举例,还有好多用法不一一列举)

    1.替换特定字符 <html><body> <script type="text/javascript"> var str="Visi ...

  7. Neutron 理解 (1): Neutron 所实现的网络虚拟化 [How Neutron Virtualizes Network]

    学习 Neutron 系列文章: (1)Neutron 所实现的网络虚拟化 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...

  8. [转]Oracle 中计算时间间隔的SQL 语句

    ' second as TSec from dual -- 计算 60秒 前的时间 ' minute as TMin from dual -- 计算 10分 前的时间 ' hour as UTCTim ...

  9. Linux设置默认shell脚本效果

    效果如图: 实现方法:在当前用户的家目录下新建文件.vimrc [root@nodchen-db01-test ~]# pwd/root [root@nodchen-db01-test ~]# fil ...

  10. php如何高效的读取大文件

    通常来说在php读取大文件的时候,我们采用的方法一般是一行行来讲取,而不是一次性把文件全部写入内存中,这样会导致php程序卡死,下面就给大家介绍这样一个例子. 需求:有一个800M的日志文件,大约有5 ...