目录

Java基本八种包装类

目录

Java基本八种包装类

1.java中为8种基本数据类型又对应准备了8种包装类。 8种包装类属于引用数据类型 ,父类是Object。

2.思考:为什么要再提供8种包装类呢?

8种基本数据类型对应的包装类型名是什么?

基本数据类型包装类型
bytejava. Lang. Byte
shortjava . lang. Short
intjava. lang. Integer
longjava. lang. Long
floatjava. lang. Float
doublejava. lang . Double
booleanjava. lang .Boolean
charjava. lang. Character
class myInt {
    int value;
    public myInt(int value) {
        this.value=value;
    }
}

public class Test04 {
    public static void main(String[] args){

                //有没有这种需求:调用doSome()方法的时候需要传一 个数字进去。
                //但是数字属于基本数据类型,而doSome()方法参数的类型是Object.
                //可见doSome() 方法无法接收基本数据类型的数字。那怎么办呢?可以传一个数字对应的包装类进去。
                //把100这个数字经过构造方法包装成对象。
                myInt myInt = new myInt(100) ;
                // doSome()方法虽然不能直接传100,但是可以传一个100对应的包装类型。
                doSome(myInt);
            }
            public static void doSome(Object obj){
                System. out . println(obj);
               // System.out.println(obj.toString());
            }

}

3.种包装类中其中6个都是数字对应的包装类,他们的父类都是Number,可以先研究一下Number中的公共的方法:

Number是一个抽象类,无法实例化对象。

Number类中有这样的方法:

byte byteValue() 以byte形式返回指定的数值

abstract double doubleValue() 以double形式返回指定的数值

abstract float floatValue() 以float形式返回指定的数值

abstract int intValue() 以int 形式返回指定的数值

abstract long longValue() 以long形式返回指定的数值

abstract short shortValue() 以short形式返回指定的数值

这些方法其实所有的数字包装类的子类都有,这些方法是负责拆箱的。


public class IntegerTest01 {
    public static void main(String[] args){
       //123这个基本数据类型,进行构造方法的包装达到了:基本数据类型向引用数据类型的转换。
        //基本数据类型——(转换为)->引用数据类型
        Integer i=new Integer(123);

        //引用数据类型--(转换为)-》基本数据类型
        float f=i.floatValue();
        System.out.println(f);//123.0
        int retValue=i.intValue();
        System.out.println(retValue);//123
    }
}

关于Character:

  • public static boolean isUpperCase(char ch):判断给定的字符是否是大写字符
  • public static boolean isLowerCase(char ch):判断给定的字符是否是小写字符
  • public static boolean isDigit(char ch):判断给定的字符是否是数字字符
  • public static char toUpperCase(char ch):把给定的字符转换为大写字符
  • public static char toLowerCase(char ch):把给定的字符转换为小写字符

public class CharacterDemo {
    public static void main(String[] args) {
        // public static boolean isUpperCase(char ch):判断给定的字符是否是大写字符
        System.out.println("isUpperCase:" + Character.isUpperCase('B'));
        System.out.println("isUpperCase:" + Character.isUpperCase('b'));
        System.out.println("isUpperCase:" + Character.isUpperCase('2'));
        System.out.println("-----------------------------------------");
        // public static boolean isLowerCase(char ch):判断给定的字符是否是小写字符
        System.out.println("isLowerCase:" + Character.isLowerCase('B'));
        System.out.println("isLowerCase:" + Character.isLowerCase('b'));
        System.out.println("isLowerCase:" + Character.isLowerCase('2'));
        System.out.println("-----------------------------------------");
        // public static boolean isDigit(char ch):判断给定的字符是否是数字字符
        System.out.println("isDigit:" + Character.isDigit('A'));
        System.out.println("isDigit:" + Character.isDigit('a'));
        System.out.println("isDigit:" + Character.isDigit('2'));
        System.out.println("-----------------------------------------");
        // public static char toUpperCase(char ch):把给定的字符转换为大写字符
        System.out.println("toUpperCase:" + Character.toUpperCase('A'));
        System.out.println("toUpperCase:" + Character.toUpperCase('a'));
        System.out.println("-----------------------------------------");
        // public static char toLowerCase(char ch):把给定的字符转换为小写字符
        System.out.println("toLowerCase:" + Character.toLowerCase('A'));
        System.out.println("toLowerCase:" + Character.toLowerCase('a'));
    }
}

https://i-blog.csdnimg.cn/blog_migrate/62a4c383680b948bca9590472b38341e.png

其他的包装类也类似,详情见API文档