其实类型转换其实只需记住四点即可
-
不能对布尔值进行转换
-
高位向低位转换需要强制转换
-
不能将对象类型转换成不相干的类型,比如不能将整形转换成字符类型
-
转换的时候容易发生内存溢出,精度问题。
代码演示
在这里将 int i的值转换成byte类型,就发生的内存溢出
对于低位向高位转换,就不用强转
这里就发生了精度问题
遇到这种情况,怎么办肯定很多同学会说,转成Long不就行了吗,我们接着往下看
转成Long为什么还是不行,这是因为在转换之前就已经出现了问题,i * n已经发生了内存溢出,这时候在进行转换,肯定是没有用的,所以我们要在i * n之前,就进行转换
现在就好了