包装类(代码片段)

huochemeiyouhuo huochemeiyouhuo     2023-04-11     674

关键词:



? 在java中, 系统为每一个基本类型都提供 了 一个对应的包装类型

基本类型 包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean


包装类在java.lang包中


技术图片


为什么提供包装类?

为了编程方便


包装类对象的创建(构造方法)

1.Java会把这些基本类型数据自动转换为包装类对象

public static void m1(Object obj) 



public static void main(String[] args) 
        m1(true);
        m1(456);
        m1(3.14);
        m1("abc");
        /*
         * 不能直接把基本类型数据赋值给引用类型变量
         * 当前程序没有语法错误,是因为Java把这些基本类型数据自动转换为了包装类对象, 再把包装 类对象传递给obj形参
         */


2.包装类的用法

        //1)根据基本类型创建包装类对象
        Boolean  boolean1 = new Boolean(true);
        short s = 123;
        Short short1 = new Short(s);
        Integer integer1 = new Integer(78945);
        Double  double1 = new Double(3.14);
        Character character1 = new Character('a');
        
        //2)根据字符串创建包装类对象
        boolean1 = new Boolean("true");
        integer1 = new Integer("456");
        double1 = new Double("45.789");
        //注意1: 字符串的格式要符合数字的格式
//      integer1 = new Integer("aa");   //java.lang.NumberFormatException
        double1 = new Double("23e3");   //科学计数法
        System.out.println(double1);        //23000.0
        //注意2: 布尔类型的包装类把"true"字符串转换为true, 其他的字符串都转换为false
        boolean1 = new Boolean("adfasfaslf");
        System.out.println( boolean1 );
        //注意3: Character包装类只有一个构造方法
//      character1 = new Character("A");
        
        //3)输出常用字段
        System.out.println( Integer.BYTES);             //字节数, 4
        System.out.println( Integer.SIZE);              //位数:  32
        System.out.println( Integer.TYPE);              //基本类型 : int
        System.out.println( Integer.MIN_VALUE);
        System.out.println( Integer.MAX_VALUE);



包装类的基本操作

        Integer i1 = new Integer(123);
        Integer i2 = new Integer("456");
        
        //1)从Number继承的 方法, 可以把包装类对象转换为基本类型数据
        byte bb = i1.byteValue();
        double dd = i2.doubleValue();
        
        //2)包装类实现了Comparable接口,重写了compareTo()方法, 根据包装类的value字段比较大小
        //每个包装类都有一个value字段,保存对应基本类型的数据
        System.out.println( i1.compareTo(i2) );         //-1
        Character c1 = new Character('A');
        Character c2 = new Character('a');
        System.out.println( c1.compareTo(c2));          //-32
        Boolean b1 = new Boolean(true);
        Boolean b2 = new Boolean(false);
        System.out.println( b1.compareTo(b2));          //1
        
        //3)equals(), 根据value字段进行判断是否相等
        System.out.println( i1.equals(i2));
        
        //4) static int parseInt(String s)   可以把字符串转换为基本类型数据, 经常用
        int num = Integer.parseInt("789");      
        dd = Double.parseDouble("45.78");

        //注意, 字符串要符合数字格式
        num = Integer.parseInt("adf");  //java.lang.NumberFormatException
        
        //5)valueOf() 把基本类型/字符串转换为包装类对象
        i1 = Integer.valueOf(369);
        i2 = Integer.valueOf("258");



装箱与拆箱

  • 装箱:

    把基本类型转换为包装类对象

  • 拆箱:

    把包装类对象转换为基本类型


        Integer i1 = 147;       //自动装箱
        int num = i1;           //自动拆箱
        
        Integer i2 = 666;       //根据基本类型数据666创建了一个包装类对象, 把这个包装类对象的引用赋值给i2
        Integer i3 = 666;       //重新创建了一个包装类对象
        System.out.println( i2.equals(i3));     //true
        System.out.println( i2 == i3 );         //false
        
        Integer i4 = 77;
        Integer i5 = 77;
        System.out.println( i4 == i5 );         //true
        /*
         * Java认为-128~127之间的整数使用最频繁, 所以这个范围内整数创建的包装类对象采用享元模式 , 即把包装类对象存储到共享池中
         * 在执行 i4 = 77时, 系统根据77创建一个Integer对象, 把该对象存储到共享池中
         * 当执行i5 = 77时, 系统直接把共享池中的Integer对象的引用赋值给i5
         */
        
        Long gg1 = 15L;
        Long gg2 = 15L;
        System.out.println( gg1 == gg2 );       //true

csharp会话包装类(代码片段)

查看详情

包装类(代码片段)

...型肯定是不行,在进行数字操作时,我们一般会用它们的包装类IntegerLongShortByteDoubleFloat这些类都是Number的子类,查看Number的方法里面有:intValue();longValue();floatValue();doubleValue(); 查看详情

25_包装类(代码片段)

  1.概念   2.基本数据类型与包装类、  3.装箱   4.拆箱、  5.基本数据类型与字符串  6.包装类代码案例packageJavaBasicReview;publicclassJavaGrammerpublicstaticvoidmain(St 查看详情

包装类(代码片段)

包装类装箱和拆箱示例代码:publicclassDemo2publicstaticvoidmain(String[]args)//JDK1.5之前//1.装箱操作,基本类型转为引用类型的过程intnum1=18;//基本类型数据//使用Integer类创建一个对象Integerinteger=newInteger(num1);Integerinteger1=Integer.valueOf(nu 查看详情

包装类(代码片段)

?在java中,系统为每一个基本类型都提供了一个对应的包装类型基本类型包装类byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBoolean包装类在java.lang包中为什么提供包装类?为了编程方便包装类对象的创建(构造方法)1.Jav... 查看详情

包装类(代码片段)

...的基本类型像对象一样操作,就可以使用基本类型对应的包装类。如下装箱与拆箱基本类型与对应的包装类对象之间,来回转换的过程称为”装箱“与”拆箱“:由于我们经常要做基本类型与包装类之间的转换,从Ja... 查看详情

java工具类—包装类(代码片段)

Java工具类——包装类我们都知道,JDK其实给我们提供了很多很多Java开发者已经写好的现成的类,他们其实都可以理解成工具类,比如我们常见的集合类,日期相关的类,数学相关的类等等,有了这些工具类,你会发现它能很大... 查看详情

基本包装类和system类(代码片段)

基本包装类程序界面上用户输入的数据都是以字符串类型进行存储的,要把字符串转成基本数据类型操作基本包装类就是对8种基本数据类型进行包装:IntegerCharacter其他的都是首字母大写1、将字符串转换成基本数据类型Integer.pars... 查看详情

finalstring时间类包装类(代码片段)

包装类: Listlist=newArrayList<>();//实质是把123转换成Intger类型存入list.add(123);//拆箱1建议使用intb=(int)list.get(0);System.out.println(b);//拆箱2intc=Integer.valueOf(list.get(0).toString());System.out.println( 查看详情

基本类型包装类system类(代码片段)

一基本数据类型包装类8种基本数据类型对应的包装类:字节型byte:Byte短整型short:Short整型int:Integer长整型long:Long字符型char:Character布尔型boolean: Boolean浮点型float:Float浮点型double:Double其中需要注意int对应的是Integer,cha... 查看详情

java中的包装类(代码片段)

包装类一、什么是包装类在JAVA中,八大基础数据类型(int,float,double...)是不具备对象的特征的,比如基本数据类型就不能调用方法,功能简单,为了让基本数据类型也具备对象的特征,就有了JAVA包装... 查看详情

包装类(代码片段)

所为的包装类值得是将基本数据类型封装在一个类 这个时候的MyInt实际上是Int类型的包装类,利用MyInt可以实现基本数据类型转换为对象范例: 结论:将基本数据类型包装为一个类对象的本质在于方便进行Object进行接收... 查看详情

基本类型包装类(代码片段)

基本类型包装类需求问题:在实际程序使用中,程序界面上用户输入的数据都是以字符串类型进行存储的。而程序开发中,我们需要把字符串数据,根据需求转换成指定的基本数据类型,如年龄需要转换成int类型,考试成绩需要... 查看详情

常用类(代码片段)

包装类什么是包装类?它们设计的意义是什么?Java是较为纯粹的面向对象设计语言,而其中存在八个原始类型,不归于类的范畴。为了践行无物不可引用,万类皆是对象,Java为原始类型提供了对应的引用类型(基本类型又可以... 查看详情

基本类不能判断为null,只有包装类可以(代码片段)

基本数据类型与包装类的对应关系byte→Byteshort→Shortint→Integerlong→Longfloat→Floatdouble→Doublechar→Characterboolean→Boolean  查看详情

基本数据类型与包装类的对应关系(代码片段)

基本类不能判断为null,只有包装类可以byte→Byteshort→Shortint→Integerlong→Longfloat→Floatdouble→Doublechar→Characterboolean→Boolean 查看详情

基本数据类型与包装类的对应关系(代码片段)

基本类不能判断为null,只有包装类可以byte→Byteshort→Shortint→Integerlong→Longfloat→Floatdouble→Doublechar→Characterboolean→Boolean 查看详情

实体类的包装对象作为查询条件(代码片段)

实体类的包装对象作为查询条件首先User实体类对应数据库表中的字段packagechen.domain;importjava.io.Serializable;importjava.util.Date;publicclassUserimplementsSerializableprivateIntegerid;privateStringusername;privateDatebirthday;pri 查看详情