Java包装类

Java包装类_第1张图片

在Java中不能自己定义基本数据类型对象,为了将基本数据类型视为对象进行处理,并能连接相关方法,Java为每个基本数据类型都提供了【包装类】如int型数值的包装类【Integer】,boolean型数值的包装类【Boolean】,这样就可以把这些基本数据类型转换为对象来处理了。

        java.lang包中的Integer类,Long类,Short类,可以将基本数据类型int,long,short封装成一个类,这些类都是Number的子类,区别就是封装了不同的数据类型。

1.Integer

Integer类在对象中包装了一个基本类型int的值,该类的对象包含一个int类型的字段,此外,该类提供了多种方法,能 在int类型和String类型之间互相转换。

1.1构造方法

        Integer类有2种构造方法:

        1.1.1 Integer(int number)

        以int型变量为参数创建Integer对象。

Integer number = new Integer(7);

        1.1.2 Integer(String str)

        以String型变量为参数创建Integer对象。

Integer number = new Integer("45");        

1.2 常用方法

Integer类的常用方法
方法 返回值 功能描述
Integer.byteValue() byte 以byte类型返回该Integer的值
Integer.shortValue() short 以short类型返回该Integer的值
Integer.intValue() int 以int类型返回该Integer的值
Integer.toString() String 返回一个表示该Integer值的String对象
Integer.valueOf(String str) Integer 返回保存指定String值的Integer对象
Integer.parseInt(String str) int 返回包含在由str指定的字符串中的数字的等价整数型
Integer.compareTo(Integer anotherInteger) int 在数字上比较2个Integer对象,如果这2个对象相等,则返回0;如果调用对象的数值小于anotherInteger的数值,则返回负值;如果调用对象的数值大于anotherInteger的数值,则返回正值
Integer.equals(Object IntegerObj) boolean 比较此对象与另一个对象是否相等
package classInfo;

public class summation {
    public static void main(String[] args) {
        String[] str = {"89", "12", "10", "18", "35"};
        int sum = 0;
        //实现将String数组的原酸都转换为int型
        for (int i = 0; i < str.length; i++) {
            int myInt = Integer.parseInt(str[i]);
            sum = sum + myInt;
        }
        System.out.println("String数组中的各元素之和=" + sum);
    }
}

输出:
        String数组中的各元素之和=164
package classInfo;

public class Charac {
    public static void main(String[] args){
        String str1 = Integer.toString(456);    //将Integer对象转换为十进制字符串表示
        String str2 = Integer.toBinaryString(456);  //将Integer对象转换为二进制表示
        String str3 = Integer.toHexString(456); //将Integer对象转换为十六进制表示
        String str4 = Integer.toOctalString(456); //将Inter对象转换为八进制表示

        System.out.println("456的十进制表示为:"+str1);
        System.out.println("456的二进制表示为:"+str2);
        System.out.println("456的十六进制表示为:"+str3);
        System.out.println("456的八进制表示为:"+str4);
    }
}

输出:
        456的十进制表示为:456
        456的二进制表示为:111001000
        456的十六进制表示为:1c8
        456的八进制表示为:710

 1.3 常量

        Integer类提供了4个常量:

        1.3.1 MAX_VALUE

        表示int类型可取的最大值,即2^31 -1。

        1.3.2 MIN_VALUE

        表示int类型可取的最小值,即-2^31。

        1.3.3 SIZE

        用来以二进制补码形式表示int值的位数。

        1.3.4 TYPE

        表示基本类型int的class实例。

package classInfo;

public class GetCon {
    public static void main(String[] args){
        int maxInt = Integer.MAX_VALUE; //获取int类型的可取最大值
        int minInt = Integer.MIN_VALUE; //获取int类型的可取最小值
        int intSize = Integer.SIZE;     //获取int类型的二进制位数

        System.out.println("int类型可取最大值是:"+maxInt);
        System.out.println("int类型可取最小值是:"+minInt);
        System.out.println("int类型的二进制位数是:"+intSize);
    }
}

输出:
        int类型可取最大值是:2147483647
        int类型可取最小值是:-2147483648
        int类型的二进制位数是:32

2.Boolean

Boolean类将基本类型为boolean的值包装在一个对象中,一个Boolean类型的对象只包含一个类型为boolean的字段,此外,Boolean类还为boolean何String的相互转换提供了许多方法。

2.1 构造方法

        2.1.1 Boolean(boolean value)

        创建一个表示value参数的Boolean对象

Boolean b = new Boolean(true);

        2.1.2 Boolean(String str) 

        创建一个以String变量为参数的Boolean对象,如果String参数不为null且忽略大小写时等于true,则分配一个表示true值的Boolean对象,否则获得一个false值的Boolean对象。

Boolean bool = new Boolean("ok");

package classInfo;

public class GetBoolean {
    public static void main(String[] args) {
        Boolean b1 = new Boolean(true);  //输出:true
        Boolean b2 = new Boolean("True");   //输出:true
        Boolean b3 = new Boolean(null);     //输出:false
        Boolean b4 = new Boolean("ok");     //输出:false
        Boolean b5 = new Boolean("1");     //输出:false
        System.out.println(b1);
        System.out.println(b2);
        System.out.println(b3);
        System.out.println(b4);
        System.out.println(b5);
    }
}

输出:
        true
        true
        false
        false
        false

2.2 常用方法

Boolean类的常用方法
方法 返回值 功能描述
Boolean.booleanValue() boolean 将Boolean对象的值以对应的boolean值返回
Boolean.equals(Object obj) boolean 判断调用该方法的对象与obj是否相等。当且仅当参数不为null,且与调用该方法的对象一样都表示同一个boolean值的Boolean对象是,才返回true
Boolean.parseBoolean(String str) boolean 将字符串参数解析成boolean值
Boolean.toString() String 返回表示该boolean值的String对象
Boolean.valueOf(String str) boolean 返回一个指定的字符串表示值的boolean值
package classInfo;

import com.sun.org.apache.xpath.internal.operations.Bool;

public class GetBoolean {
    public static void main(String[] args) {
        Boolean b1 = new Boolean(true);     //创建Boolean对象
        Boolean b2 = new Boolean("ok");     //创建Boolean对象
        System.out.println("b1:" + b1.booleanValue());
        System.out.println("b2:" + b2.booleanValue());
    }
}

输出:
        b1:true
        b2:false

2.3 常量

        Boolean提供了3个常量:

        2.3.1 TRUE

        对应基值true的Boolean对象;

        2.3.2 FALSE        

        对应基值false的Boolean对象;

        2.3.3 TYPE

        基本类型boolean的class对象;

3.Byte

Byte类将基本类型为byte的值包装在一个对象中,一个Byte类型的对象只包含一个类型为byte的字段;此外,Byte类还为byte和String的互转提供了方法。

3.1 构造方法

        Byte类提供了2种构造方法的重载形式来创建Byte类对象。

        3.1.1 Byte(byte value)

        以byte型变量为参数创建Byte对象

byte mybyte = 45;

Byte b = new Byte(mybyte);

        3.1.2 Byte(String str)

        以String型变量为参数创建Byte对象

Byte b = new Byte("12");

3.2 常用方法

Byte类的常用方法
方法 返回值 功能描述
Byte.byteValue() byte 以一个byte值返回Byte的对象
Byte.intValue() int 以一个int值返回Byte对象
Byte.doubleValue() double 以一个double值返回此Byte的值
Byte.valueOf(String str) byte 返回一个保持指定String所给出的值Byte对象
Byte.toString() String 返回表示此Byte的值的String对象
Byte.equals(Object obj) boolean 将此对象与指定对象比较,如果此对象与obj相等,则返回true,否则返回false
Byte.parseByte(String str) byte 将String型参数解析成等价的字节(byte)形式
Byte.compareTo(Byte anotherByte) int 在数字上比较两个Byte对象,如果这2个对象相等,则返回0;如果调用对象的数值小于anotherByte的数值,则返回负值;如果调用对象的数值大于anotherByte的数值,则返回正值

3.3 常量

        Byte类中提供4个常量:

        3.3.1 MIN_VALUE

        byte类型可取的最小值

        3.3.2 MAX_VALUE

        byte类型可取的最大值

        3.3.3 SIZE

        用于二进制补码形式表示byte值的位数

        3.3.4 TYPE

        表示基本类型byte的class实例

4.Character

Character类在对象中包装一个基本类型为char的值,一个Character类型的对象包含类型为char的单个字段,该类提供了几种方法,以确定字符的类别(大小写字母,数字等),并将字符从大写转换成小写,从小写转换成大写。

4.1 构造方法

        4.1.1 Character(char value)

        该类的构造函数必须是一个char类型的数据。通过该构造函数创建的Character类对象包含由char类型参数提供的值,一旦Character类被创建,它包含的数值就不能改变了。

Character mychar = new Character('s');

4.2 常用方法

Character类的常用方法
方法 返回值 功能描述
Character.charValue() char 返回此Character对象的值
Character.compareTo(Character anotherCharacter) int 在数字上比较两个Character对象,如果这2个对象相等,则返回0;如果调用对象的数值小于anotherCharacter的数值,则返回负值;如果调用对象的数值大于anotherCharacter的数值,则返回正值
Character.equals(Object obj) boolean 将调用该方法的对象与指定对象相比较是否想相等
Character.toString() String 返回一个表示指定char值的String对象
Character.toUpperCase(char ch) char 将字符参数转换为大写
Character.toLowerCase(char ch) char  将字符参数转为小写
Character.isUpperCase(char ch) boolean 判断指定字符是否为大写字符
Character.isLowerCase(char ch) boolean 判断指定字符是否为小写字符
package classInfo;

public class UpperOrLower {
    public static void main(String[] args) {
        Character mychar1 = new Character('A'); //声明Character对象
        Character mychar2 = new Character('a');
        System.out.println(mychar1 + "是大写字母吗?:" + Character.isUpperCase(mychar1));
        System.out.println(mychar2 + "是小写字母吗?:" + Character.isLowerCase(mychar2));
    }
}

输出:
        A是大写字母吗?:true
        a是小写字母吗?:true

4.3 常量

        Character提供了大量表示特定字符的常量。

        4.3.1 CONNECTOR_PUNCTUATION

        返回byte型值,表示Unicode规范中的常规类别”Pc".

        4.3.2 UNASSIGNED

        返回byte型值,表示Unicode规范中的常规类别“Cn”。

        4.3.3 TITLECASE_LETTER

        返回byte型值,表示Unicode规范中的常规类别“Lt”。

        

5.Double/Float

Double和Float包装类是对double,float基本类型的封装,他们都是Number类的子类,又都是对小数进行操作,所以常用方法基本相同。

        Double类在对象中包装一个基本类型为double的值。每个Double类的对象都包含一个double类型的字段,此外,该类还提供多个方法,可以将double转换为String,也可以将String转换为double.

5.1 构造方法

        Double类提供了2中构造方法来获得Double类对象:

        5.1.1 Double(double value)

        基于double参数创建Double对象。

        5.1.2 Double(String str)

        用字符串表示的double类型的浮点值来创建Double对象。

5.2 常用方法

Double类的常用方法
方法 返回值 功能描述
Double.byteValue() byte 以byte形式返回Double对象的值(强制转换)
Double.intValue() int 以int形式返回Double对象的值
Double.longValue() long 以long形式返回Double对象的值
Double.doubleValue() double 以doulbe形式返回Double对象的值
Double.compareTo(Double d) int 在数字上比较两个Double对象,如果这2个对象相等,则返回0;如果调用对象的数值小于Double的数值,则返回负值;如果调用对象的数值大于Double的数值,则返回正值
Double.equals(Object obj) boolean 将此对象与指定的对象比较
Double.valueOf(String str) Double 返回保存用参数字符串str表示的double值的Double对象
Double.toString() String 返回此对象的字符串表示形式
Double.isNaN() boolean 如果此double值是非数字值(NaN),则返回true;否则返回false;

5.3 常量

        Double类提供了一下常量:

        5.3.1 MAX_EXPONENT

        返回int值,表示有限double变量可能具有的最大指数。

        5.3.2 MIN_EXPONENT

        返回int值,表示有限double变量可能具有的最小指数。

        5.3.3 NEGATIVE_INFINITY

        返回double值,表示保存double类型的负无穷大值的常量。

        5.3.4 POSITIVE_INFINITY

        返回double值,表示保存double类型的正无穷大值的常量。

6.Number

        抽象类【Number】是BigDecimal、BigInteger、Byte、Short、Integer、Long、Float、Double类的父类,Number的子类必须提供将表示的数值转换为byte、short、int、long、float、double的方法,例如doubleValue()方法返回双精度值,floatValue()方法返回浮点值。

6.1 Number类的方法

Number类的方法
方法 返回值 功能描述
Number.byteValue() byte 以byte形式返回指定的数值
Number.shortValue() short 以short形式返回指定的数值
Number.intValue() int 以int形式返回指定的数值
Number.longValue() long 以long形式返回指定的数值
Number.floatValue() float 以float形式返回指定的数值
Number.doubleValue() double 以double形式返回指定的数值

        Number类的方法分别被Number的各子类所实现,也就是说,Number类的所有子类中都包含以上几种方法。

你可能感兴趣的:(Java,java,开发语言,包装类)