JAVA 包装类详细讲解

包装类是一种java常用开发类 包装类对应8大基本类型 网上搜索一下就好了

  • 案例1

public static void main(String[] args) {

System.out.println("----包装类常用属性-------------");

System.out.println(Integer.MAX_VALUE); //对应基本类型的最大值

System.out.println(Integer.MIN_VALUE); //对应基本类型的最小值

System.out.println(Integer.TYPE); //对应的基本类型

System.out.println("---------包装类中的常用方法---------");

//[1] 把String类型转换成int类型

String str = "123";

int num = Integer.parseInt(str);

//[2]把String类型转换成Integer

Integer integer = Integer.valueOf(str);

//[3]把Integer类型转化成String

String s = integer.toString();

System.out.println("-----------手动装箱和拆箱-------------");

int a =10;//基本数据类型

Integer integer1 = new Integer(a);//手动装箱:把基本类型变成对应的包装类

int i = integer1.intValue();//手动拆箱:把包装类转成对应的基本数据类

System.out.println("-----------JDK1.5以后的自动装箱和拆箱---------");

int b = 10;//基本数据类型

Integer integer2 = b;//这个过程就是自动装箱 等价于Integer intger = new Integer(b)

int i2 = integer2;

System.out.println("------------隐藏的装箱和拆箱-----------------");

Integer c = new Integer(10);

c++; //此时c为基本数据类型 jdk偷偷拆箱了 把c的包装类转换成基本数据类型了

Integer bb = 10;

int cc = 10;

bb.equals(cc); // 此时cc为Integer类型 jdk底层把cc基本数据类型转换成包装类了

}

  • 案例2 要注意的细节

public static void main(String[] args) {

int a =10;

Integer b = 10;

System.out.println(a==b); //ture[+ - * / ==] 这些属于基本数据类型的运算 自动拆箱 b拆箱成基本数据类型 所以 == 比较的不是地址值了 而是比较值

System.out.println(b.equals(a));//ture 自动装箱 a装箱成包装类

Integer a2 = new Integer(10); //new关键字申请新的空间

Integer b2 = new Integer(10); // new关键字申请了新的空间

System.out.println(a2==b2); //比较的是地址 false

System.out.println(b2.equals(a2)); //比较的是值 ture

Integer a3 = 10; //自动装箱 调用了一个.valueOf方法 valueOf有个缓存数组存储了-128到127值 如果要装箱的值不在缓存数组范围内 就直接把要包装的值对应的地址返回了 并没有开辟新的空间地址

Integer b3 = 10;

System.out.println(a3 == b3); //ture a3为常量10

System.out.println(a3.equals(b3));//ture

Integer a4 = 200;

Integer b4 = 200;

System.out.println(a4 == b4); //false 超出了valueOf缓存数组 返回new Integer类型

System.out.println(a4.equals(b4)); //true

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中的包装类是一种特殊类型的类,它们允许将基本数据类型(如int,double等)转换为对象,并允许对它们进行操作。每个基本数据类型都有一个对应的包装类Java中的8个基本数据类型和对应的包装类如下: 1. byte - Byte 2. short - Short 3. int - Integer 4. long - Long 5. float - Float 6. double - Double 7. char - Character 8. boolean - Boolean 以下是每个包装类详细解释和示例代码: 1. Byte - Byte类是一个包装类,它允许将byte类型的数据转换为对象。它提供了许多方法来操作byte类型的数据,例如将byte转换为int,将byte转换为字符串等。 示例代码: ``` // 创建Byte对象 Byte b = new Byte((byte) 10); // 将byte转换为int int i = b.intValue(); // 将byte转换为字符串 String s = b.toString(); ``` 2. Short - Short类是一个包装类,它允许将short类型的数据转换为对象。它提供了许多方法来操作short类型的数据,例如将short转换为int,将short转换为字符串等。 示例代码: ``` // 创建Short对象 Short s = new Short((short) 20); // 将short转换为int int i = s.intValue(); // 将short转换为字符串 String str = s.toString(); ``` 3. Integer - Integer类是一个包装类,它允许将int类型的数据转换为对象。它提供了许多方法来操作int类型的数据,例如将int转换为字符串,将int转换为二进制等。 示例代码: ``` // 创建Integer对象 Integer i = new Integer(30); // 将int转换为字符串 String str = i.toString(); // 将int转换为二进制 String binary = Integer.toBinaryString(i); ``` 4. Long - Long类是一个包装类,它允许将long类型的数据转换为对象。它提供了许多方法来操作long类型的数据,例如将long转换为字符串,将long转换为十六进制等。 示例代码: ``` // 创建Long对象 Long l = new Long(40); // 将long转换为字符串 String str = l.toString(); // 将long转换为十六进制 String hex = Long.toHexString(l); ``` 5. Float - Float类是一个包装类,它允许将float类型的数据转换为对象。它提供了许多方法来操作float类型的数据,例如将float转换为字符串,将float转换为整数等。 示例代码: ``` // 创建Float对象 Float f = new Float(3.14f); // 将float转换为字符串 String str = f.toString(); // 将float转换为整数 int i = f.intValue(); ``` 6. Double - Double类是一个包装类,它允许将double类型的数据转换为对象。它提供了许多方法来操作double类型的数据,例如将double转换为字符串,将double转换为整数等。 示例代码: ``` // 创建Double对象 Double d = new Double(3.1415); // 将double转换为字符串 String str = d.toString(); // 将double转换为整数 int i = d.intValue(); ``` 7. Character - Character类是一个包装类,它允许将char类型的数据转换为对象。它提供了许多方法来操作char类型的数据,例如判断一个字符是否为字母,将字符转换为大写等。 示例代码: ``` // 创建Character对象 Character c = new Character('a'); // 判断字符是否为字母 boolean isLetter = Character.isLetter(c); // 将字符转换为大写 char upperCase = Character.toUpperCase(c); ``` 8. Boolean - Boolean类是一个包装类,它允许将boolean类型的数据转换为对象。它提供了许多方法来操作boolean类型的数据,例如将boolean转换为字符串,比较两个boolean值等。 示例代码: ``` // 创建Boolean对象 Boolean b = new Boolean(true); // 将boolean转换为字符串 String str = b.toString(); // 比较两个boolean值 boolean isEqual = b.equals(Boolean.FALSE); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值