JavaSE——包装类

定义:包装类就是将基本数据类型封装到类中

class IntDemo{
	private int intValue;
	public IntDemo(int intValue){
		this.intValue = intValue;
	}
	public int intValue(){
		return this.intValue;
	}
}
public class Test4{
	public  static void main(String[] args){
	 //将整型常量封装到类中
	  IntDemo intDemo = new IntDemo(10);
	  int result = intDemo.intValue();
	  System.out.println(result+20);
	}
}

在这里插入图片描述

1.分类
a.对象型包装类(Object的直接子类):Boolean(boolean)、Character(char)
b.数值型包装类(Number的直接子类),存在数值转换异常:Byte(byte)、Short(short)、Long(long)、Double(double)、Float(float)、Integer(int)
2.装箱与拆箱(基本数据类型与相应包装类的数据处理)
装箱:将基本数据类型变为包装类对象,利用每个包装类提供的构造方法实现装箱
拆箱:将包装类中包装的基本类型值取出,利用Number类提供的XXValue()实现拆箱处理

public class Test4{
	public  static void main(String[] args){
     //手动装箱
	 Integer i = new Integer(10);
	 //手动拆箱
	 int result = i.intValue();
	 System.out.println(result+10);
	 //自动装箱
	 Integer i2 = 20;
	 int result2 = i2+10;
	 System.out.println(result2);	
	}
}

在这里插入图片描述

2.阿里编码规范:所有相同类型的包装类对象之间的值比较,全部使用equals方法比较

3.说明:对于Integer var = ?在-128~127之间的复制,Integer对象在Integer常量池产生,会复用已有对象, 这个区间内的Integer值可以直接使用==判断,除此之外的所有数据,都会在堆上产生,并不会复用已有对象

public class Test4{
	public  static void main(String[] args){
        Integer i1 = 10;
		Integer i2 = new Integer(10);
		Integer i3 = 10;
		Integer i4 = 200;
		Integer i5 = 200;
		System.out.println(i1 == i2);
		System.out.println(i1 == i3);
		System.out.println(i4 == i5);
	}
}

在这里插入图片描述

4.使用int还是Integer?
a.[强制]所有POJO(简单JAVA类,Bean)类属性必须使用包装类型

//简单JAVA类
class Person{
	private String name;
	private Integer age;
}

b.[强制]PRC方法的返回值和参数必须使用
c.[推荐]所有的局部变量使用基本类型

5.字符串与基本类型转换
I.将字符串转为基本类型(静态方法):
调用各个包装类.parseXX(String str)
Integer.parseInt(String str)

public class Test4{
	public  static void main(String[] args){
        String str = "123";
		int i = Integer.parseInt(str);
		String str1 = "123.10";
		double b = Double.parseDouble(str1);
		System.out.println(i+10);
		System.out.println(b+10);
	}
}

在这里插入图片描述

II.基本类型变为字符串
a. " "+基本类型

public class Test4{
	public  static void main(String[] args){
        String str = ""+123;
		System.out.println(str.length());
	}
}

在这里插入图片描述

b.使用String类的valueof(基本类型,静态方法),此方法不产生垃圾空间

public class Test4{
	public  static void main(String[] args){
        String str = String.valueOf(10);
		System.out.println(str);
	}
}

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值