编程知识 cdmana.com

Introduction to Java lesson 92 -- wrapper classes

1.1 Overview of packaging

1.1.1 Overview of packaging

    ·  In the context of type conversion , There is a special transformation , Need to put int Such basic data types are converted to objects ;

    ·  All basic types have a corresponding class , Packaging (wrapper).

    image.png

Overview of packaging ( To continue 1)

    ·  Packaging class is immutable class , After constructing the wrapper class object , Changing the value of the package in it is not allowed ;

    ·  A wrapper class is final Of , Can't define their subclasses .

Basic types Basic types Parent class
int java.lang.Integer java.lang.Number
long java.lang.Long java.lang.Number
double java.lang.Double java.lang.Number
short java.lang.Short java.lang.Number
float java.lang.Float java.lang.Number
byte java.lang.Byte java.lang.Number
char java.lang.Character java.lang.Object
boolean  java.lang.Boolean java.lang.Object

1.2 8 There are three basic data types: packaging

1.2.1 Number And its main methods

    ·  abstract class Number yes Byte、Double、Float、Integer、Long and Short The parent of a class ;

    · Number Subclass of must provide to convert the value represented to byte,double,float,int,long and short Methods ;

        doubleValue() With double Form returns the specified value

        intValue()     With int Form returns the specified value

        floatValue()     With float Form returns the specified value

Number And its main methods ( To continue 1)

    /**  test Number Of intValue Methods and doubleValue Method  */
    public void testIntValueAndDoubleValue(){
        Number d=123.45;
        Number n=123;
        // Output d and n The type of object 
        System.out.println(d.getClass().getName());//java.lang.Double
        System.out.println(n.getClass().getName());//java.lang.Integer
        
        int intValue=d.intValue();
        double doubleValue=d.doubleValue();
        System.out.println(intValue+","+doubleValue);//123,123.45
        
        intValue=n.intValue();
        doubleValue=n.doubleValue();
        System.out.println(intValue+","+doubleValue);//123,123.0
    }

1.2.2 Integer Common functions

    ·  This class provides several methods , Can be in int The type and String Type to type , There are also constants such as :

        static int MAX_VALUE The value is 231  -1 The constant , Express int The maximum value that the type can represent

        static int MIN_VALUE The value is -231 The constant , Express int The minimum value that a type can represent

Integer Common functions ( To continue 1)

    · Integer Static method of parseInt Used to convert a string to int.

    /** String Convert to int */
    public void testParseInt(){
        String str="123";
        int value=Integer.parseInt(str);
        System.out.println(value);//123
        str=" Water and electricity ";
        // Will throw out NumberFormatException
        //value=Integer.parseInt(str);
    }

     If the format of a string is not an integer , Will not be able to convert .

1.2.3 Double Common functions

    ·  stay Double Class to wrap a basic type in the object double Value

    ·  Construction method

        - Double(double value)

        - Double(String s)

    ·  Method

        - double doubleValue() Back here Double Object's double value

        - static double parseDouble(String s) Back to a new double value , The value is initialized with the specified String Value represented

Double Common functions ( To continue 1)

    /** String Convert to double */
    public void testParseDouble(){
        String str="12345.00";
        double value=Double.parseDouble(str);
        //12345.0
        System.out.println(value);
        
        str="¥12345.00";
        
        // Will throw out NumberFormatException
        //value=Double.parseDouble(str);
    }

1.2.4 Automatic packing and unpacking operation

    ·  from Java5.0 Version later added to autoboxing function

    ·  Automatically " Unpacking " and " Packing " Depend on JDK5 The compiler of is at compile time " Preprocessing " Work

    ·  The falling code is written in the correct form :

        Integer a=100;    // Packing

        Integer b=200;    // Packing

        Integer c=a+b;    // Unpack and then pack

        double d=c;    // Unpacking

Automatic packing and unpacking operation ( To continue 1)

    ·  Packing and unpacking are " compiler " Approved , Not virtual machines . The compiler inserts the necessary method calls when generating the bytecode of the class

        - Integer a=100 => Integer a=Integer.valueOf(100)

        - Integer b=200 => Integer b=Integer.valueOf(200)

        - Integer c=a+b=>Integer c=Integer.valueOf(a.intValue()+b.intValue())

        -int d=c =>int d=c.intValue()

Automatic packing and unpacking operation ( To continue 2)

    image.png

Official account , Get a learning video

版权声明
本文为[Monkeys learn to program]所创,转载请带上原文链接,感谢

Scroll to Top