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

Java八股-数据类型转换有哪些?类型互转会有什么问题?为什么用bigDecimal 不用double ?自动装箱和拆箱?包装类?

Java中有哪些数据类型转换?

显示类型转换:在前面一个括号,里面写上要转换的类型

隐式类型转换:小范围的数据类型转大范围的,int到long,float到double

字符串转整形或浮点:整形:Integer.parseInt();浮点:Double.parseDouble()

类型互转会出现什么问题吗?

时间丢失:大范围转小范围,long-》int

精度丢失:高精度转低精度,double-》float

类型不匹配:会报错

为什么用bigDecimal 不用double ?

double会出现精度丢失的问题,因为double执行的是二进制浮点运算

bigDecimal是精确计算的

自动装箱和拆箱是什么?

自动装箱:基本数据类型转换成其包装类

自动拆箱:包装类转换从基本数据类型

java5引入主要是为了方便操作

实现是通过valueOf()和和xxxValue()实现的

频繁使用自动装箱和拆箱会影响性能

为什么会有包装类?

因为java中的很多方法和类是用来处理类类型的对象的,比如ArrayList这些只能存储类;

泛型也只能使用引用类型;

基本类型和引用类型的转换也必须借助包装类;比如int必须先转换成integer才能转换成String类型。

基本类型和包装类的区别?

性能方面:基本类型占用内存小。包装类型占有内存较大。

比较方式:基本类型用==比较。包装类型==比较的是地址,equals比较的才是值

默认值:基本的默认值为0或false。包装的默认为null

初始化方式:基本是直接赋值。引用需要new

存储方式:基本:局部变量保存在栈上,成员变量在堆中。包装类保存在堆上。

鉴于作者水平有限,文章可能存在错误

如有指正,十分感谢

相关文章:

  • QML 滑动与翻转效果(Flickable与Flipable)
  • 随记 配置服务器的ssl整个过程
  • 华为云Flexus+DeepSeek征文 | 基于Dify和DeepSeek-R1开发企业级AI Agent全流程指南
  • Python训练营打卡Day40
  • 《系统集成项目管理工程师(第三版)》高效学习方法
  • Spring,SpringMVC,SpringBoot
  • Med-R1论文阅读理解-1
  • leetcode669.修剪二叉搜索树:递归法利用有序性精准剪枝
  • OAuth详解和应用
  • Netty 实战篇:为 Netty RPC 框架增加超时控制与重试机制,防止系统雪崩
  • 实验设计与分析(第6版,Montgomery)第5章析因设计引导5.7节思考题5.11 R语言解题
  • Ubuntu 安装 FSL 及多模态脑MRI的去颅骨处理(含 HD-BET 深度学习方法)
  • C#中数据绑定的简单例子
  • 深入浅出:使用DeepSeek开发小程序的完整指南
  • vb.net oledb-Access 数据库本身不支持命名参数,赋值必须和参数顺序一致才行
  • STM32 搭配 嵌入式SD卡在智能皮电手环中的应用全景评测
  • 引领机器人交互未来!MANUS数据手套解锁精准手部追踪
  • 改写自己的浏览器插件工具 myChromeTools
  • 4.2.3 Spark SQL 手动指定数据源
  • 手撕Java+硅基流动实现MCP服务器教程
  • 响应式网站 手机站/免费关键词挖掘工具
  • 网站建设公司选择哪家好/免费网络推广公司
  • 上海闵行建设局官方网站/电商网站开发需要多少钱
  • wordpress类似的工具/seo收费标准
  • 专用车网站建设多少钱/搭建一个网站的流程
  • 网站html下载器/百度风云榜各年度小说排行榜