Java对象投射

示例

与基元一样,对象可以显式和隐式转换。

当源类型扩展或实现目标类型(广播到超类或接口)时,会发生隐式转换。

当源类型扩展或由目标类型实现(强制转换为子类型)时,必须进行显式转换。ClassCastException当要转换的对象不是目标类型(或目标的子类型)时,这可能会产生运行时异常()。

Float floatVar = new Float(42.0f);
Number n = floatVar;                //隐式(浮动工具编号)
Float floatVar2 = (Float) n;        //Explicit
Double doubleVar = (Double) n;      //引发异常(对象不是Double)