Java基础——包装类
  BA7aR24amlGh 2023年11月02日 40 0


 包装类

包装类分类

  1. 针对八种基本数据类型相应的引用类型——包装类
  2. 有了类的特点,就可以调用类中的方法
  3. 如下表:

基本数据类型

包装类

blooean

Blooean

char

Character

byte

Byte

short

Short

int

Integer

long

Long

float

Float

double

Double

Boolean-->父类是Object

Java基础——包装类_包装类

 Character-->父类也是Object

Java基础——包装类_包装类_02

 Byte、Short、Integer、Long、Float、Double-->父类都是Number,Number的父类是Object

Java基础——包装类_System_03

包装类和基本数据的转换

演示包装类和基本数据类型的相互转换,这里以int和Integer演示

  1. jdk5前的手动装箱和拆箱方式,装箱:基本类型—>包装类型,反之拆箱。
  2. jak5以后(含jdk5)的自动装箱和拆箱方式。
  3. 自动装箱底层调用的valueOf方法,比如Integer。valueOf()。
  4. 其他包装类用法类似。

Java基础——包装类_父类_04

Java基础——包装类_System_05

包装类型和String类型的相互转换

以String和Integer为例:

package com.study.srv.demo10;

/**
 * @author Wen先森
 * @version 1.0
 * @date 2022/3/9 14:25
 */
public class Demo03 {
    public static void main(String[] args) {
        //包装类和String类型相互转换
        //Integer-->String
        Integer i=100;
        //方式一
        String str1=i+"";
        //方式二
        String str2=i.toString();
        //方式三
        String str3=String.valueOf(i);

        //String-->包装类(Integer)
        String str4="123";
        Integer i1 = Integer.parseInt(str4);//使用装箱
        Integer integer = new Integer(str4);//使用构造器
    }
}

Java基础——包装类_System_06

Integer类和Character类的常用方法

package com.study.srv.demo10;

/**
 * @author Wen先森
 * @version 1.0
 * @date 2022/3/9 14:48
 */
public class Demo04 {
    public static void main(String[] args) {
        System.out.println(Integer.MAX_VALUE);//返回最大值
        System.out.println(Integer.MIN_VALUE);//返回最小值

        System.out.println(Character.isDigit('a'));//判断是不是数字
        System.out.println(Character.isLetter('a'));//判断是不是字母
        System.out.println(Character.isUpperCase('a'));//判断是不是大写
        System.out.println(Character.isLowerCase('a'));//判断是不是小写

        System.out.println(Character.isWhitespace('a'));//判断是不是空格
        System.out.println(Character.toUpperCase('a'));//转成大写
        System.out.println(Character.toLowerCase('A'));//转成小写
    }
}

Java基础——包装类_System_07

Java基础——包装类_System_08

 Integer创建机制

Java基础——包装类_包装类_09

package com.study.srv.demo10;

/**
 * @author Wen先森
 * @version 1.0
 * @date 2022/3/9 14:58
 */
public class Demo05 {
    public static void main(String[] args) {
        Integer i=new Integer(1);
        Integer j=new Integer(1);
        System.out.println(i==j);//此时i和j是对象,==是false 要用equals
        Integer m=1;//底层Integer.valueOf(1);
        Integer n=1;//底层Integer.valueOf(1);
        //这里是看范围的。如果是在-128~127就直接返回。否则就new Integer().
        System.out.println(m==n);
        Integer x=128;//x>=IntegerCache.low && i<=IntegerCache.high 即-128到127之间
        Integer y=128;//在范围外,所以此时会new成一个新对象
        System.out.println(x==y);
    }
}

Java基础——包装类_包装类_10

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
BA7aR24amlGh