Java常用类之包装类
2022/8/9 1:25:28
本文主要是介绍Java常用类之包装类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
包装类
Java中一切皆对象???数据类型的划分为基本数据类型和引用数据类型,但基本数据类型怎么成为对象呢?为解决这个问题,包装类就起了作用
基本内容
基本数据类型所对应的引用数据类型。
基本数据类型 | 包装类 |
---|---|
int | Integer |
char | Character |
short | Short |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
byte | Byte |
-
Integer、Byte、Float、Double、Short、Long都属于Number类的子类,Numbe类本身提供了一系列的返回以上6中基本数据类型的操作。
-
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);
注意:需保证类型兼容,否则抛出NumberFormatException异常
整数缓存区
-
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
这篇关于Java常用类之包装类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?
- 2024-05-09企业src漏洞挖掘-有意思的命令执行