Demo20_泛型的使用

package test11;


import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Demo20_泛型的使用 {

//  @SuppressWarnings({/* "unchecked",*/ "rawtypes" })
    public static void main(String[] args) {
//      想要使用字符串的特有方法就必须要进行类型转换
//      String str = (String)it.next;
        /*为了让集合使用更安全 
         * 问题:
         * 什么类型的元素可以被存储在JDK1.5之后出现了就解决方案
         * 使用容器时,必须明确容器的数据类型
         * 这种机制称之为:泛型
         * 体现<数据类型> 往尖括号中写东西其实就是传递参数
         * List<String> list = new ArrayList<String>();
         * 泛型:
         * 1.安全机制
         * 2.将运行时的java.lang.ClassCastException转移到编译时期变成编译失败
         * 3.是给编译器使用的一种技术
         * 4.避免了强转的麻烦
         * 
         * 泛型的擦除
         * 
         *  */
        /*Array*/List<String> list = new ArrayList<String>();
//      list.add(33);//可能会出现错误    java.lang.ClassCastException
//      list.add(Integer.valueOf(333));//加入指定类型之后,只要不是制定的类型就会报错
        list.add("3333");
        list.add("zzzz");
        for (Iterator<String> it = list.iterator(); it.hasNext();) {
            System.out.println( it.next());
//          想要打印字符串长度
            String str = /*(String)*/it.next();
            System.out.println(str.length());
        }

    }

}

猜你喜欢

转载自blog.csdn.net/mingxu_W/article/details/82594028