[Java]包装类

文章目录


什么是包装类?

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

获取包装类的方法


两种方式获取对象的区别:

Integer.valueOf(int) 会缓存 -128 到 127 之间的值(默认范围),相同值的对象可能指向同一个实例;而 new Integer(int) 每次都创建新对象,地址不同。

底层原理:

在实际开发中,-128~127之间的数据,用的比较多。

如果每次都是new对象,那么太浪费内存了。

所以,提前把这个范围之内的每一个数据都创建好对象。

如果用到该数据则不会创建新的,而是返回已经创建好的对象。

以前包装类如何计算?

先拆箱,再装箱。

JDK5以后,会进行自动拆箱,自动装箱:

java 复制代码
// 自动装箱
Integer i1 = 10;
// JDK5以前
Integer i2 = new Integer(10);
// 自动拆箱
int i = i2;

// JDK5以后,int和Integer可以看作是同一个东西,因为在内部可以自动转化

总结

成员方法

调用方法示例:


键盘录入--nextInt()弊端

我们在使用 next()nextInt()nextDouble() 在接收数据的时候,遇到空格、回车、制表符的时候就停止了。当键盘输入 "123 123" 的时候,只能接收到前边的数据,如果想要输入一整行数据最好使用 nextLine() ,他遇到 回车 才停止。

next() 与 nextLine() 区别

next():

  • 1、一定要读取到有效字符后才可以结束输入。
  • 2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
  • 3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
  • next() 不能得到带有空格的字符串。

nextLine()

  • 1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
  • 2、可以获得空白。
相关推荐
Highcharts.js3 小时前
教程:基于 React + Highcharts 构建一个单页应用程序、按需数据拉取与图表渲染
开发语言·前端·数据结构·react.js·前端框架·highcharts·页面应用
头发还在的女程序员4 小时前
医院陪诊管理系统怎么选择?——2026 年选型避坑与架构参考
java·开发语言·陪诊系统·陪诊app·医院陪诊陪护
CodeStats4 小时前
【Spring事务】Spring事务注解 @Transactional 完整体系:从 MySQL 隔离级别到 MyBatis 原理详解
java·spring·mybatis·事务·transactional
我命由我123455 小时前
Android 开发问题:为 PDFView 设置一个带有黑色边框的背景 drawable,但边框没有生效
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
爱写代码的小朋友6 小时前
从零开始学 Win32 API:C++ 窗口编程实战(VS Code + MinGW-w64 命令行详解)
开发语言·c++
果汁华6 小时前
Function Calling 与 Python 实战完整指南
开发语言·网络·python
小小晓.6 小时前
C++:语句和作用域
开发语言·c++
都叫我大帅哥7 小时前
从Python到Java:为什么企业级Agent最终会选择Java?
java·ai编程
wanderist.7 小时前
Lambda表达式在算法竞赛中的应用
java·开发语言·算法
海天鹰8 小时前
PHP上传文件
android·开发语言·php