泛型编程与增强for循环
2022/8/2 14:52:56
本文主要是介绍泛型编程与增强for循环,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
泛型:只在程序编译阶段起作用,给编译器参考的,泛型的优点就是统一了集合中的元素类型,取出元素时不太需要大量地向下转型。但是也会导致集合中的元素缺乏多样性!
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); } } }
运行截图
这篇关于泛型编程与增强for循环的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?
- 2024-05-09企业src漏洞挖掘-有意思的命令执行
- 2024-05-08阿里云域名注册流程,分享给第一次购买域名的新手站长!