我们可以通过两种方式实现输出:一种是类型转换,另一种是不类型转换

A a=new B() // without typecaste

A a  = (A)a// with Typecaste

两种方式我们都得到相同的输出。所以,类型转换的用途是什么

最佳答案

假设您有一个Animal列表。并且其中有TigerLion

ArrayList<Animal> animals = new ArrayList<>();
//add some Tigers and some Lions
//sort so Tigers are at the beggining of the list
Tiger t = (Tiger)animals.get(0);

如果不进行强制转换,则在编译时会出现类型不匹配的情况。使用演员表,您只需冒ClassCastException的风险,而使用try-catch可以很容易地抓住它

这只是在Java中正确使用类转换的一个示例。

10-06 14:49