泛型和容器

一.不使用泛型的容器

在JavaSE5之前,Java中是没有泛型这一概念的,那么容器没有泛型怎么使用呢?

代码如下:

ArrayList apples = new ArrayList();// 没有使用泛型
apples.add(new Apple());// 集合可以添加Apple对象
apples.add(new Car());// 也可以添加Car对象

在没有使用泛型是这个ArrayList类型的实例对象既可以加入Apple对象也可以加入Car对象类。

当我们明确的获得一个集合对象并且知道其类型时,可以没有问题的对其对象进行操作。

但是当我们在集合中拥有大量元素时遍历集合,并且我们自己也不知道取得的元素时哪一个类的对象时,那么就会出现问题。

通常我们可以使用关键字instanceof关键字来判断取得对象的类型然后进行操作代码如下:

public static void main(String[] args) {
        ArrayList apples = new ArrayList();// 没有使用泛型
        apples.add(new Apple());// 集合可以添加Apple对象
        apples.add(new Car());// 也可以添加Car对象
        apples.add(new Car());
        apples.add(new Car());
        apples.add(new Car());
        apples.add(new Car());
        apples.add(new Car());
        System.out.println(apples.size());
        for(int i=0;i<apples.size();i++) {
            if(apples.get(i)instanceof Apple) {//匹配Apple类时
                System.out.println(i+"号对象是苹果");
            }else {
                System.out.println(i+"号对象是车");
            }
        }
    }

原文地址:https://www.cnblogs.com/SAM-CJM/p/9374548.html