Java 基本数据类型包装类详解



一、基本数据类型包装类的概述

想要对基本类型数据进行更多的操作,最方便的方式就是将其封装成对象。因为在对象描述中就可以定义更多的属性和行为对该基本数据类型进行操作。



二、基本数据类型与包装类的对应关系

基本数据类型             包装类

   byte              	 Byte

   short				 Short

   int					 Integer

   long 			     Long

   float				 Float

   double				 Double

   char					 Character

   boolean  		 	 Boolean


三、基本数据类型包装类的主要功能


3.1 Integer 类

1)Integer.MAX_VALUE 表示 int 类型最大值

2)Integer 构造方法:

  • 构造一个新分配的 Integer 对象,它表示指定的 int 值:public Integer(int value)

  • 构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值:public Integer(String s)

	Integer int1 = new Integer(123);
	System.out.println(int1);// 123
	
	Integer int2 = new Integer("123");
	System.out.println(int2);// 123

3)Integer 面试题

Integer i1 = 97;

Integer i2 = 97;

System.out.println(i1 == i2);// true

System.out.println(i1.equals(i2));// true

System.out.println("-----------");



Integer i3 = 128;

Integer i4 = 128;

System.out.println(i3 == i4);// false

System.out.println(i3.equals(i4));// true,因为比较的是内容

分析:因为 -128 ~ 127 是 byte 的取值范围,如果在这个取值范围内,自动装箱就不会创建新的对象,而是从常量池中获取,超过了 byte 取值范围就会再创建新对象~这个就是 i1 == i2 的结果为 true 的原因了



3.1 基本数据类型 → 字符串

  • 方式一:基本数据类型对象包装类中的方法 static String toString(基本类型);

  • 方式二:String类中的方法: static String valueOf(基本类型)

  • 方式三:基本类型数据 + “”



3.2 字符串 → 基本数据类型

1)使用包装类中的静态方法:xxx parseXxx(String)

// 1、字符串转换为 int类型

// 将字符串转换为int型,即十进制数
int a = Integer.parseInt("123");
System.out.println(a);// 123

// 将字符串 “123” 按照二进制转换成int,即十进制数,则结果为6
int b = Integer.parseInt("110", 2);

// 将字符串 ”120” 按照十进制转换为int,则结果为120
int c = Integer.parseInt("120",10);

// 将字符串 ”12” 按照十六进制转换为int,则结果为18
int d = Integer.parseInt("12",16);

// 将字符串 ”ff” 按照十六进制转换为int,则结果为255
int e = Integer.parseInt("ff",16);



// 2、字符串转换为 float类型
float a = Float.parseFloat("1.2");



// 3、字符串转换为 double类型
double a = Double.parseDouble("12.4444");


//4、字符串转换为 boolean类型

boolean a = Boolean.parseBoolean("true");
System.out.println(a);// true

boolean b = Boolean.parseBoolean("false");
System.out.println(b);// false

// 传入的不是布尔类型相应字符串,输出false
boolean c = Boolean.parseBoolean("falsde");
System.out.println(c);// false



//5、字符串转换为 long类型
long a = Long.parseLong("1122211111111");
System.out.println(a);// 1122211111111



//6、字符串转换为 short类型
short a = Short.MAX_VALUE;
System.out.println(a);// 32767

short b = Short.parseShort("12");
System.out.println(b);// 12



//7、字符串转换为 byte类型
System.out.println(Byte.MAX_VALUE);// 127
byte b = Byte.parseByte("12");
System.out.println(b);// 12


//8、只有Character没有parse方法,本身就是封装了字符,无须转换


2)当字符串被xxx包装类进行对象的封装,使用另一个非静态的方法:xxxValue()

// 将一个xxx包装类对象转成基本数据类型值
Integer a = new Integer(123);
System.out.println(a);// 123 ,输出的是 Integer类

int b = a.intValue();
System.out.println(b);// 123 ,输出的是 int类型

//此时如果要比较对象,得用 int compareTo(anotherInteger)进行比较,返回 0、1 或 -1
Integer x = new Integer(1);
Integer y = new Integer(9);
System.out.println(x.compareTo(y));// -1



3.3 进制转换

  • 10 进制转换为 2 进制:static String toBinaryString(int)

  • 10 进制转换为 16 进制:static String toHexString(int)

  • 10 进制转换为 8 进制:static String toOctalString(int)

int a = 100;
System.out.println(Integer.toBinaryString(a));// 1100100
System.out.println(Integer.toOctalString(a));// 144
System.out.println(Integer.toHexString(a));// 64
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值