Java常用类之包装类


 


包装类

Java中一切皆对象???数据类型的划分为基本数据类型和引用数据类型,但基本数据类型怎么成为对象呢?为解决这个问题,包装类就起了作用

 

基本内容

基本数据类型所对应的引用数据类型。

 

基本数据类型 包装类
int Integer
char Character
short Short
long Long
float Float
double Double
boolean Boolean
byte Byte
  1. Integer、Byte、Float、Double、Short、Long都属于Number类的子类,Numbe类本身提供了一系列的返回以上6中基本数据类型的操作。

  2. Character和Boolean属于Object的直接子类。

 

装箱与拆箱

装箱:将一个基本数据类型变为包装类的,这样的过程成为装箱操作。

拆箱:将一个包装类变为基本数据类型的过程称为拆箱操作。

 

int x = 30;//基本数据类型
Integer num = new Integer(x);//装箱
Integer num2 = Integer.valueOf(x);//装箱
int temp = num.intValue();//拆箱
//JDK1.5之后自动装箱和拆箱
int a = 15;
Integer b = a;//自动装箱
int c=b;//自动拆箱

 

自动装箱和拆箱实质:编译器编译时调用包装类的相应方法。

 

 

基本类型和字符串的相互转换


//基本类型转为字符串
int n1 = 255;
//第一种,使用+号
String s1 = n1+"";
//第二种,使用Integer中的toString()方法
String s2 = Integer.toString(n1);

//把n1转换为16进制(修改radix的值来改变进制数)
String s3 = Integer.toString(n1, 16);

//字符串转为基本类型
String str = "150";
//使用Integer.parseXXX()
int i = Integer.parseInt(str);

//boolean字符串形式转成基本类型时,"tree"----> tree,非"tree"---->false
String str2 = "true";
String str3 = "treo";
boolean b = Boolean.parseBoolean(str2);
boolean c = Boolean.parseBoolean(str3);
System.out.println(b);
System.out.println(c);

 

Java常用类之包装类

 

 

 

注意:需保证类型兼容,否则抛出NumberFormatException异常

 

Java常用类之包装类

 

 

 

 

整数缓存区

  • Java预先创建了256个常用的整数包装类型对象

  • 在实际开发中,对已创建的对象进行复用

 

package lesson2;

public class Demo02 {
public static void main(String[] args) {
Integer integer1 = new Integer(100);
Integer integer2 = new Integer(100);
System.out.println(integer1 == integer2);
//打印出来的是false,引用对象类型比较的是地址,是不一样的

Integer integer3 = 100;
Integer integer4 = 100;
//自动装箱实际上是调用的是 Integer.valueOf()方法,并不是new出来的
//Integer integer3 = Integer.valueOf(100);
//100在-128到127之间,所以地址一样
System.out.println(integer3 == integer4);

Integer integer5 = 200;
Integer integer6 = 200;
System.out.println(integer5 == integer6);
//200不在-128到127之间,会重新new,所以是false
}
}

 

可以参考此博客

https://blog.csdn.net/m0_46802583/article/details/119102345

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/279548.html

(0)
上一篇 2022年8月8日
下一篇 2022年8月8日

相关推荐

发表回复

登录后才能评论