只要适合情况,Java会自动的将一种数据类型转换成另一种数据类型。比方说,把整数值赋给浮点变量的时候,编译器会自动将这个int转换成float。但是碰到一些不会自动进行这种转换的情况的时候,你也可以明确地告诉它进行转换,或者强制进行类型转换。要进行这种转换,你就得把数据的目标类型放进变量左边的括号里。你可以对数值,也可以对变量进行转换。现在演示这两种转换都是多余的,因为一旦有必要,编译器就会自动将int提升为long。不过用了这种多余的转换之后,代码会变得更清晰。但是在有些情况下,为了要让代码能编译通过,转换就可能是必须的了。
Java的类型转换是安全的,当你将一个能保存较多信息的数据类型,转换成一个保存不了这么多信息的数据类型时,它会产生一个异常。编译器会强制你明确地进行转换。对于widening conversion,就不必进行显示转换了,因为新类型可以存储比旧类型更多的信息,所以什么都丢不了。Java允许你对除boolean之外的其他primitive类型的数据进行任意的转换,而boolian则根本不能转换。类是不允许转换的。要让他们明白相互转换,必须要有特殊的方法。
评论列表: