美文网首页
Java-泛型方法1

Java-泛型方法1

作者: hello_world_cxm | 来源:发表于2021-01-01 22:09 被阅读0次
    package Hello1;
    import java.util.ArrayList;
    import java.util.List;
    public class Test9 {
    
        public static void main(String[] args) {
            
    
        }
        static Dog[] findAllDogs(Animal[] as) {  //Animal数组可以装猫狗鸡
            List<Dog> result = new ArrayList<>();
            //Dog o : as编译错误,因为o不一定是狗对象 所以得判断
            for(Animal o : as) {
                if(o instanceof Dog) {  //o instanceof Dog 如果a是Dog类的实例 则o是狗
                    //result.add(o); 此时o是animal对象,即使o是狗,但是因为是多态,所以类型还是动物 所以得转类型
                    Dog d = (Dog) o;  //将o对象强制转换成狗对象
                    result.add(d);
                }
            }
            //Dog[] aa = new Dog[0];可以简写为 new Dog[] {} 空数组
            Dog[] dd = result.toArray(new Dog[] {});  //参数是什么类型,就能转成什么类型的数组
            //Dog[] dd = result.toArray(); 如果是无参的toArray最终只能转成Object类型的数组
            return dd;
        }
    
    }
    
    

    相关文章

      网友评论

          本文标题:Java-泛型方法1

          本文链接:https://www.haomeiwen.com/subject/sxlsoktx.html