java中为没一种基本类型都提供相应的包装类型. byte,short,char,int,long,float,double和boolean Byte,Short,Character,Integer,Long,Float,Double,Boolean. 自动装箱就是Java自动将原始类型值转换成对应的对象,比如将int的变量转换成Integer对象,这个过程叫做装箱,反之将Integer对象转换成int类型值,这个过程叫做拆箱.…
静态导入用于简化程序对类静态属性和方法的调用. 语法 import static 包名.类名.静态属性|静态方法|* 例如 import static java.lang.System.out import static java.lang.Math.* package cn.itcast.demo; import static java.lang.System.out; import static java.util.Arrays.*; public class Demo1 { public…
本文结构 1.Character和char 的区别: 2.自动拆箱装箱 1.Character和char 的区别: Character是类,char基本数据类型. 在java中有三个类负责对字符的操作:Character.String.StringBuffer.其中Character类是对单个字符进行操作,String是对一个字符序列的操作,StringBuffer是对一串字符进行操作. char可以自动包装成Character;Character也可以自动拆包成char. java中默认基本类…
一.基本类型打包器 1.基本类型:long.int.double.float.boolean 2.类类型:Long.Integer.Double.Float.Boolean 区别:基本类型效率更高,类类型的对象却可以携带更多的信息. public class TestInteger01 { public static void main(String[] args) { int a = 10; int b = 20; Integer A = new Integer(a); Integer B =…
基本数据类型转换为引用类型对象 一个自动装箱的例子 Integer i=10; 相当于 Integer i=new Integer(10); 一个自动拆箱的例子 Integer m=10; int n=m; 相当于n=m.intValue(); 枚举类型 所有枚举类型都继承了Enum类 枚举值都是public  static final 的  ,也就是常量,因此枚举值应大写 枚举构造器都是私有化的 //当jvm去加载使用枚举类的时候,会预先创建多个枚举类型的对象供外部使用 public stat…
package cn.zhang.test; /** * 测试自动装箱拆箱 * 自动装箱:基本类型自动转为包装类对象 * 自动拆箱:包装类对象自动转化为基本数据类型 * * * /*缓存问题*/ /*缓存[-128,127]之间的数字,也就是一个byte,实际上是系统在初始的时候创建了一个范围在[-128,127]之间的一个数组 * 当我们调用valueOf的时候,首先判断该数字是否在[-128,127]之间,如果在,则在数组中拿出该对象,侧面印证了数组 * 本身就是对象,如果不在,则创建一个新…
都0202 了 java 1.8 已经是主流 自动装箱 .拆箱已经很普遍使用了,那么有时候是不是会遇到坑呢? 我们先来看一段代码: public class TestWraperClass { public static void main(String[] args) { Integer a = 200; Integer b = 200; Integer c = 123; Integer d = 123; System.out.println(a == b); System.out.print…
public class Test2{ public static void main(String[] args){ Integer a=1; Integer b=2; Integer c=3; Integer d=3; Integer e=321; Integer f=321; Long g=3L; System.out.println(c==d); //true System.out.println(e==f); //false System.out.println(c==(a+b));…
Integer封装与拆箱 简介: 目录: Integer自动封装的陷阱 Integer自动拆箱机制 Integer自动封装的陷阱 public class IntegerDemo { public static void main(String[] args) { Integer a=1000,b=1000; Integer c=100,d=100; System.out.println(a==b);//false System.out.println(c==d);//true } } 我们知道…
Integer a0 = ; Integer a1 = ; Integer b0 = ; Integer b1 = ; ; System.out.println(a0 == a1); >>>> true //Integer 对象-128 ~ 127 会缓存,不会新建对象 所以相等 System.out.println(b0 == b1); >>>> false //对象-128 ~ 127 会缓存 但是之外的数据会重新new System.out.print…