泛型编程与增强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-11-25JAVA语音识别项目项目实战入门教程
- 2024-11-25JAVA云原生项目实战入门教程
- 2024-11-25Java语音识别项目入门:新手必读指南
- 2024-11-25Java语音识别项目入门:轻松开始你的第一个语音识别项目
- 2024-11-25Java语音识别项目入门详解
- 2024-11-25Java语音识别项目教程:从零开始的详细指南
- 2024-11-25JAVA语音识别项目教程:初学者指南
- 2024-11-25Java语音识别项目教程:初学者指南
- 2024-11-25JAVA云原生入门:新手指南与基础教程
- 2024-11-25Java云原生入门:从零开始的全面指南