java-集合框架-泛型1

package cn.burce.Genetic;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;

import cn.burce.API3.Interger;

/*
 * 1.5后出现安全机制 保证程序安全运行
 * 泛型:指明了集合中存储数据的类型<数据类型>
 * 不指明的情况下只能通过强转来实现数据的转换
 * 泛型的通配符?
 * 
 */
public class GeneticLearn {
    public static void main(String[] args) {
        function();
        ArrayList<String> ARR = new ArrayList<String>();
        HashSet<Integer> ha = new HashSet<Integer>();
        ARR.add("笑笑");
        ARR.add("电风扇");
        ha.add(22);
        ha.add(33);
        function1(ARR);
        function1(ha);
        /*
         * 定义方法,可以同时迭代2个不同类型集合 参数:怎么实现,不能写ArrayList也不能写HashSet 参数:共同实现的接口
         */
    }

    private static void function() {
        Collection c = new ArrayList();
        c.add("我");
        c.add("我我我");
        c.add("额鹅鹅鹅我");
        c.add("凄凄切切我");
        // java.lang.Integer cannot be cast to java.lang.String
        // c.add(111);//下面的强转会出错
        Iterator it = c.iterator();
        while (it.hasNext())
        {
            String s = (String) it.next();
            System.out.println(s);
            System.out.println(s.length());
        }
    }

    private static void function1(Collection<?> coll) {
        Iterator<?> it1 = coll.iterator();
        while (it1.hasNext())
        {
            System.out.println(it1.next());
        }
    }
}

原文地址:https://www.cnblogs.com/BruceKing/p/13397394.html