3.9 类型转换和强制类型转换
如果您已经具备了前面的编程经验,就会知道将某种类型的值赋给另外一种类型的变量是很常见的。如果这两种类型是兼容的,那么Java会自动进行类型转换。例如,总是可以将int类型的值赋给long类型的变量。然而,并不是所有类型都是兼容的,从而也不是所有类型转换默认都是允许的。例如,没有定义从double类型到float类型的自动转换。幸运的是,在两种不兼容的类型之间,仍然可以进行转换。为此,必须使用强制类型转换(cast),在不兼容的类型之间执行显式转换。下面分析自动类型转换和强制类型转换这两种情况。