当前位置: 首页 > news >正文

Java之包装类

Java中的包装类(Wrapper Classes)是基本数据类型的对象包装类。Java为每个基本数据类型(如intchar等)提供了对应的包装类,使得基本类型可以被当作对象来处理。这些包装类位于java.lang包中。

包装类的用途

  1. 对象化:包装类将基本数据类型包装成对象,因此可以存储在集合类中,例如ArrayListHashMap等,这些集合只能存储对象而不是基本类型。
  2. 类型转换:包装类提供了一些有用的方法,可以将字符串等类型转换为基本数据类型。
  3. 操作功能:包装类提供了额外的功能,比如Integer类的parseInt方法可以将字符串转换为整数。

在JDK5的时候提出了一个机制:自动装箱和自动拆箱自动装箱

自动装箱:把基本数据类型会自动的变成其对应的包装类

自动拆箱:把包装类自动的变成其对象的基本数据类型
在底层,此时还会去自动调用静态方法valueof得到一个Integer对象,只不过这个动作不需要我们自己去操作了。

Integer i1=10
Integer i2 = new Integer( value:10);
//自动拆箱的动作
int i = i2;
//在JDK5以后,int和Integer可以看做是同一个东西,因为在内部可以自动转化。

 总结:

成员方法: 

 

 数值进制转换

包装类还提供了一些用于数值进制转换的方法,例如toBinaryString()toHexString()等。

  • toBinaryString(int i): 将整数转换为二进制字符串。

    String binaryStr = Integer.toBinaryString(10); // "1010"
  • toHexString(int i): 将整数转换为十六进制字符串。

    String hexStr = Integer.toHexString(255); // "ff"
  • toOctalstring(int i) :将整数转换为八进制字符串。
    String str2 =Integer.toOctalstring(100);
    System.out.printin(str2);//144

parseXXX(String s)

parseXXX方法是静态方法,用于将字符串转换为对应的基本数据类型。它是直接将字符串解析为原始的数值类型。
在类型转换的时候,括号中的参数只能是数字不能是其他,否则代码会报错细节。
8种包装类当中,除了character都有对应的parsexxx的方法,进行类型转换。

  • Integer.parseInt(String s): 将字符串转换为int类型。

    String str = "123"; 
    int num = Integer.parseInt(str);
  • Double.parseDouble(String s): 将字符串转换为double类型。

    String str = "3.14"; 
    double num = Double.parseDouble(str);
  • Boolean.parseBoolean(String s): 将字符串转换为boolean类型。

    String str = "true"; 
    boolean bool = Boolean.parseBoolean(str);

键盘录入的问题: 

当我们在使用next,nextInt,nextDouble在接收数据的时候,遇到空格,回车,制表符的时候就停止了键盘录入的是123 123那么此时只能接收到空格前面的数据但是我想要的是接收一整行数据
约定:
以后我们如果想要键盘录入,不管什么类型,统一使用nextLine特点遇到回车才停止。此时数据是String类型,这个时候只需要强制转化即可。

String line=sc.nextLine();
System.out.println(line);
double v=Double.parseDouble(line);
System.out.println(v);

http://www.lryc.cn/news/429331.html

相关文章:

  • Linux - 权限
  • 免费图形化nginx管理工具nginxWebUI
  • 编程上的挫折不可怕,可怕的是你畏惧了
  • docker逃逸手法
  • 3 pytest Fixture
  • pinctl 和 gpio子系统驱动
  • RocketMQ消息堆积了怎么解决?
  • C++第十二弹 -- STL之list模拟实现
  • Destiny of Gods首轮测试正式开启,参与玩家数量突破10万
  • QT聊天室基于Tcp
  • 公开课观后感:密歇根大学python for everyone
  • goweb框架-gin
  • 2024年接口测试高频面试题及答案
  • ESP32-C3在MQTT访问时出现“transport_base: Poll timeout or error”问题的分析(8)
  • Linux: 忘记密码的解决方法,passwd
  • 36. 有效的数独【 力扣(LeetCode) 】
  • 机器学习中的没有免费午餐定理
  • 高级java每日一道面试题-2024年8月21日-框架篇[Spring篇]-使用IOC容器应该注意哪些?
  • LLM训练推理相关概念
  • IP in IP 协议
  • DAY2: HTTP请求报文和响应报文是怎样的,有哪些常见的字段?| HTTP有哪些请求方式?| GET请求和POST请求的区别
  • 线性代数:每日一题1/特征值与相似对角化
  • Android UI:PopupWindow:API
  • 什么是DevUI?
  • DAY53
  • python中len是什么
  • 推荐一个开源的kafka可视化客户端GUI工具(Kafka King)
  • day 10 贪心算法
  • 网络安全审计技术原理与应用
  • 计算机网络之TCP序号,确认序号和报文传输时间