为什么需要包装类?

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. WinForm下ComboBox设定SelectedValue总结 (SelectedValue==null解决办法)[转]

    http://www.cnblogs.com/qqflying/archive/2013/05/23/3096050.html 实践发现:以SelectedIndex赋值让ComboBox自动选中时能 ...

  2. ThinkJava-访问权限控制

    6.2.3 private: 你无法访问 关键字private的意思是,除了包含该成员的类之外,其他任何类都无法访问这个成员.由 于处于同一个包内的其他类是不可以访问private成员的,因此这等于说 ...

  3. java study文件读写

    文件读写 如果在代码中写入大量的数据,会增加代码的冗余度,通过读取文件的方式,可以精简代码,便于数据的修改和代码的维护 IO流的分类:字节流和字符流 字符流 字符输出流:写文本文件的,抽象基类java ...

  4. 1113 Integer Set Partition (25 分)

    1113 Integer Set Partition (25 分) Given a set of N (>1) positive integers, you are supposed to pa ...

  5. SVN - 简单使用手册

    背景 由于项目需要,新增了两名程序员来一起支持一个分支的开发工作,因此需要在原来的SVN中制作分支并且为new commer  分配用户以及权限. 0. 准备 在Window系统上使用SVN,我们最好 ...

  6. Oracle函数中将参数放在模糊查询中

    --diagnosis_name like '%'||diagnosis_names||'%' create or replace function asdf(MIN_DATE IN varchar2 ...

  7. 学习MongoDB 四: MongoDB查询(一)

    一.简介 MongoDB提供了db.collection.find() 方法可以实现根据条件查询和指定使用投影运算符返回的字段省略此参数返回匹配文档中的所有字段. 二.db.collection.fi ...

  8. 线程使用方法 锁(lock,Rlock),信号了(Semaphore),事件(Event),条件(Ccndition),定时器(timer)

    2线程的使用方法  (1)锁机制       递归锁           RLock()    可以有无止尽的锁,但是会有一把万能钥匙       互斥锁:           Lock()     ...

  9. ORACLE中CONNECT BY...START WITH...的使用

    源: https://docs.oracle.com/cd/B19306_01/server.102/b14200/queries003.htm http://www.cnblogs.com/baiy ...

  10. 并发工具类(二)同步屏障CyclicBarrier

    前言   JDK中为了处理线程之间的同步问题,除了提供锁机制之外,还提供了几个非常有用的并发工具类:CountDownLatch.CyclicBarrier.Semphore.Exchanger.Ph ...