Java 集合存储基本数据类型、包装类、自动装箱与拆箱、包装类的特殊功能类型转换

集合存储基本类型数据

集合泛型必须是引用类型,不能是基本类型。
如果一定存储基本数据,那么就要使用基本数据类型对应的“包装类”(全都位于java.lang下,有8种)

基本类型包装类概述

java都是对象,相当于创建基本数据类型换成对应的类,就是包装类。

基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据

常用的操作之一: 用于基本数据类型与字符串之间的转换

基本类型对应的包装类
byteByte
shortShort
intInteger 【特殊】
longLong
floatFloat
doubleDouble
charCharacter 【特殊】
booleanBoolean

从JDK1.5开始,基本类型可以和对应的包装类进行自动装箱拆箱。
装箱:基本类型 --> 包装类
拆箱:包装类 --> 基本类型

public class Demo04ArrayListWrapper {
	public static void main(String[] args) {
		ArrayList<Integer> list = new ArrayList<>();
		
		list.add(100);
		list.add(300);
		list.add(500);
		
		int result = list.get(1);
		System.out.println(result);
	}
}

Integer:包装一个对象中的原始类型int的值

public class IntegerDemo {
	public static void main(String[] args) {
		//int范围
		System.out.println(Integer.MIN_VALUE);
		System.out.println(Integer.MAX_VALUE);
	}
}
valueOf(int i) 返回表示指定的int值的Integer实例
valueOf(String s)  返回一个保存指定值得Integer对象String
		//int和String相互转换
		
		//int --- String
		int num = 100;
		String s = String.valueOf(num);
		System.out.println(s);
		
		//String --- int
		String s1 ="100";
		
		//1. String  ---  Integer  ---int
		Integer num1 = Integer.valueOf(s1);
		//public int intValue()
		int x = num1.intValue();
		System.out.println(x);
		
		//2. public static int parseInt(String s)
		int y = Integer.parseInt(s1);
		System.out.println(y);

	}
}
  • 1.int 转换为String
    public static String valueOf(int i):返回int参数的字符串表示形式。该方法是String类中的方法。
  • 2.String转换为int
    public static int parseInt(String s) : 将字符串解析为int类型。该方法是Integer类中的方法。

自动装箱与拆箱

public class IntegerDemo {
	public static void main(String[] args) {
		// 装箱
		Integer a = Integer.valueOf(100); // 手动装箱
		Integer aa = 100; // 自动装箱

		// 拆箱
		aa += 200; // 自动拆箱,里面隐含了手动拆箱
		// aa.intValue() + 200;// 手动拆箱
		System.out.println(aa);

		Integer aaa = null;
//		if (aaa != null) {
			aaa += 300; // NullPointerException
			System.out.println(aaa);
//		}
	}
}

包装类的特殊功能

  • 包装类作为类首先拥有object类的方法。
  • 包装类作为引用类型的变量可以存储null值。

主要使用:
把字符串类型的数值转换成对应的基本数据类型的值。

  • xxx.parsexxx (“字符串类型的数值”)
        String str = "1234";
        int i = Integer.parseInt(str);
        double v = Double.parseDouble(str);
  • xxx.valueOf(" 字符串类型的数值") 更推荐使用
        int integer = Integer.valueOf(str);
        double aDouble = Double.valueOf(str);

如果乱给数值,会出现java.lang.NumberFormatException

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值