欢迎光临散文网 会员登陆 & 注册

泛型编程与增强for循环

2022-08-02 13:57 作者:限量版范儿  | 我要投稿

泛型:只在程序编译阶段起作用,给编译器参考的,泛型的优点就是统一了集合中的元素类型,取出元素时不太需要大量地向下转型。但是也会导致集合中的元素缺乏多样性!

package com.javastudy.example09; import javax.swing.text.html.HTMLDocument; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class FanXing {    public static void main(String[] args) {        //不使用泛型        List list=new ArrayList();        list.add(new Bird());        list.add(new Cat());        Iterator it=list.iterator();        while(it.hasNext()){            Object obj=it.next();            //不使用泛型   向下转型            if(obj instanceof Bird){            Bird x=(Bird)obj;                x.move();            }            if(obj instanceof Cat){                Cat x=(Cat)obj;                x.move();            }        }        System.out.println("====================");        //使用泛型        List<Bird> list2=new ArrayList<Bird>();        list2.add(new Bird());        //list2.add(new Cat()); 错误,不兼容        Iterator<Bird>  it2=list2.iterator();        while(it2.hasNext()){           Bird b=it2.next();           b.move();        } //泛型的自动类型推断        List<Cat> list3=new ArrayList<>();        list3.add(new Cat());        //list3.add(123); 错误    } } class Bird{ public void move(){    System.out.println("bird fly"); } } class Cat{    public void move(){        System.out.println("cat floot");    } }

运行截图

自定义泛型与增强for循环

package com.javastudy.example09; import java.util.ArrayList; import java.util.*; public class DiyFanX_ForEach<c123>{    public void doS(c123 x){        System.out.println(x);    } public static void main(String[]args){    DiyFanX_ForEach<String> diy=new DiyFanX_ForEach();     diy.doS("123");    //增强for循环    System.out.println("=================");    List<String> list=new ArrayList<>();    list.add("123");    list.add("555");    list.add("666");    //遍历    for(int i=0;i<list.size();i++){        System.out.println(list.get(i));    }    System.out.println("=================");    for (String s:list) {        System.out.println(s);    }        } }

运行截图


文章链接:https://www.dianjilingqu.com/463768.html

泛型编程与增强for循环的评论 (共 条)

分享到微博请遵守国家法律