Java包装类及类型转换

一、什么是包装类

包装类: Java是一个面向对象的编程语言,但是Java中的八种基本数据类型却是不面向对象的,为了使用方便和解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八种基本数据类型对应的类统称为包装类,包装类均位于java.lang包。

二、应用场景

  1. 作为 和基本数据类型对应的类类型存在,方便涉及到对象的操作。
    比如有时候一个函数需要传递一个Object变量 而你想传递int类型的进去显然不行,这就要用到包装类。比如想传递5进去,就可以这样test(new Integer(5));比如有时候一个函数需要传递一个Object变量 而你想传递int类型的进去显然不行,这就要用到包装类。比如想传递5进去,就可以这样test(new Integer(5));
        public void test(Object obj){
        }
    
  2. 集合不允许存放基本类型数据,只能存放包装类型。
  3. 包装类中包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。

三、类型转换

  1. 基本类型和包装类之间可以相互转换
    通过包装类的构造函数,可以将基本类型转为包装对象。
    public Boolean(boolean value){//..}
    public Character(char value){//..}
    public Integer(int value){//..}
    public Long(long value){//..}
    public Float(float value){//..}
    public Double(double value) {//..}
    
  2. 基本类型之间相互转换
    在各个包装类中,总有形为××Value()的方法,来得到对应的基本类型数据。如Integer可将int转成byte、short、long,float、double。
     public byte byteValue() {
            return (byte)value;
     }
    public short shortValue() {
            return (short)value;
    }
     public long longValue() {
            return (long)value;
    }
    
  3. 通过包装类,String可以和基本类型之间相互转换
    String->包装类类型
    通过包装类的构造函数,Boolean(String s),Integer(String s),Long(String s),Float(String s),Double(String s) 得到包装类对象。
      public Integer(String s) throws NumberFormatException {
            this.value = parseInt(s, 10);
        }
    
    包装类类型->String
    任何包装类都存在一个名为toString()的静态方法能够将其转换成对应的String类。
    //将int类型的20转成字符串
    String s = Integer.toString(20);
    
    //将Integer类型的20转成字符串
    Integer i = new Integer(20);
    String s2 = i.toString();
    
    另外,对于整型类和长整型类,还能够使用toBinaryString(int i),toHexString(int i),toOctalString(int i)分别以二进制,十六进制和八进制的形式进行到String类的转换。

四、包装类写法

除了Integer和Character类以后,其它六个类的类名和基本数据类型一直,只是类名的第一个字母大写即可。
boolean -> Boolean
char -> Character
byte-> Byte
short-> Short
long-> Long
int -> Integer
float-> Float
double-> Double

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章