博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA开发常用类(九)
阅读量:6829 次
发布时间:2019-06-26

本文共 762 字,大约阅读时间需要 2 分钟。

6. 类型转换

Java是一种类型强制的语言,所以在对对待数据类型时,有严格的类型检查,如果类型不正确时,将会报错。在很多情况下,类型可以通过转换得到,如将int转换为float等。

Java的类型转换有2种:

6.1. 基本类型转换

基本类型转换时,一个精度小的基本类型(如byte)转换为一个精度大的基本类型(如int),可以采用隐式转换,即:

value1 = value2

但是当一个精度大的基本类型(如int)转换为一个精度小或精度相等的基本类型(如float)时,由于存在精度丢失的情况,就必须采用显式转换,格式如下:

value1 = (typename)value2

6.2. 对象类型转换

类的实例可以被转换为其他类的实例,但是有一个限制:源和目的类必须通过继承相联系——即一个类必须是另外一个类的子类。

当一个子类对象被转换为一个父类对象时,由于子类拥有父类对象的一切,可以视作是精度大的数据类型转换为精度小的类型,其转换可以采用隐式转换。

当一个父类对象被转换为一个子类对象时,就必须进行显示转换。在转换过程中不是损失了任何信息,而是得到了子类所定义的全部方法和变量。这种情况下的强制转换,其实是产生了一个对原有对象的类的引用(可以理解为指针,java中没有指针概念,然而使用引用和数组可以实现指针的大部分功能),而原有对象继续存在。

6.3. 基本类型与对象类型转换

任何情况下都无法将一个基本类型转换为对象类型,或反之。但是在java.lang包中,为每个基本类型定义了其对应的类,如float对应的Float类,以及Boolean、Byte等。除了类名用大写字母开头外,在使用时需要调用相关方法来获取实际的基本类型值。如:

int i = new Integer(123).intValue();

转载地址:http://ucjkl.baihongyu.com/

你可能感兴趣的文章
PHP Primary script unknown 终极解决方法
查看>>
3D文本悬停改变效果
查看>>
递归算法的时间复杂度
查看>>
有点不安全却又一亮的 Go unsafe.Pointer
查看>>
Linux安装mysql 8.0
查看>>
Webpack vs Rollup
查看>>
Springboot 前后端参数交互方式
查看>>
px、em、rem、%、vw、vh、vm等单位有什么区别?
查看>>
滴滴出行基于RocketMQ构建企业级消息队列服务的实践
查看>>
如何理解git rebase?
查看>>
程序部署到服务器服务无法启动问题
查看>>
以太坊源码分析—p2p节点发现与协议运行
查看>>
在MaxCompute上分析IP来源的方法
查看>>
JavaScript对象内部属性及其特性总结
查看>>
python学习笔记(二)
查看>>
css3动画效果抖动解决
查看>>
在React中你可以停止使用这五种常见写法
查看>>
为什么要用Redis
查看>>
SpringMVC学习笔记
查看>>
JDK源码学习1-ThreadPoolExecutor学习,先看注释
查看>>