【Java高级特性】java学习之旅27-包装类

本文详细介绍了Java中八种基本数据类型(byte, short, int, long, float, double, char, boolean)的包装类,探讨了它们作为引用类型的特点、构造方法、静态常量和方法,以及自动装箱与拆箱的概念。通过实例演示了如何使用包装类进行数据操作和类型转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对8种基本数据类型进行面向对象的包装。

基本数据类型和包装数据类型

基本数据类型包装数据类型
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charChar
booleanBoolean

基本数据类型和包装数据类型的区别

  1. 包装类是类,属于引用数据类型
  2. 包装类的默认值数null,基本数据类型是各自的零值
  3. 泛型只能使用包装类
  4. 包装类更加符合面向对象的编程思想
  5. 包装类里面有一些数据的操作方法

包装类的常用方法
1.构造方法:

	@Test
	public void test1() {
		
		//以对应的基本数据类型为参数
		Long l1 = new Long(123L);
		System.out.println(l1);
		
		//以字符串为参数(Character除外)
		Long l = new Long("123");
		
		Long l2 = new Long("wzy"); // NumberFormatException
		System.out.println(l2);
		
		Character char1 = new Character('男');
		// Character char2 = new Character("男");
	}
  1. 静态常量
  • MAX_VALUE 最大容量
  • MIN_VALUE 最小容量
	@Test
	public void test2() {
		
		byte max = Byte.MAX_VALUE;
		byte min = Byte.MIN_VALUE;
		
		System.out.println(max);//127
		System.out.println(min);//-128
		
		// System.out.println(Byte.SIZE);
		
	}
  1. 静态方法
int parseInt(String s)//将字符串转化成int类型的变量

Integer valueOf(String s)//将字符串的变量转化成Integer类型的变量

int sum(int a, int b)
int max(int a, int b)
int min(int a, int b)
	@Test
	public void test3() {

        //parseInt后面的第二个参数radix可以理解为将多少进制的数转化为10进制
		int i1 = Integer.parseInt("4d2", 16);
		System.out.println(i1);
		
		int i2 = 1234;
		String hexStr = Integer.toHexString(i2);
		System.out.println(hexStr);
		
	}
  1. 字符串和数字类型之间的转换
1.数字 -> 字符串
    1. toString()方法
    2. 字符串的拼接: 1 + ""
    3. String.valueOf(123)
2. 字符串 -> 数字
    1. int i = Integer.parseInt("123")
    2. Integer i = Integer.valueOf("123")
    3. Integer i = new Integer("123")
  1. 自动装箱和拆箱

JDK1.5+允许包装类型和基本数据类型之间的自动转换,允许一起运算。

	@Test
	public void test4() {
		
		int i = 123;
		Integer integer = new Integer("456");
		
		Integer integer2 = i;
		Integer integer3 = 456;
		
		int j = integer;
		
		System.out.println(i + integer);
		
	}
  1. 包装类型的缓存机制

如果使用自动装箱创建包装类对象(Integer i = 123;), 如果数值在[-128 , 127]之间,多次创建对象会公用一个对象。

//这两次创建对象用的是同一个对象,地址是一样的。
Integer i1 = 123;
Integer i2 = 127;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JeffHan^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值