Java 泛型与通配符 定义与使用
2022/9/4 1:22:53
本文主要是介绍Java 泛型与通配符 定义与使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、泛型
- 定义:
把类型明确的工作推迟到创建对象或调用方法时才明确的类型,简而言之,未明确的数据类型。 - 类型:
泛型类,泛型方法,方形接口。 - 格式
- 泛型类格式:class 类名<E变量>{}
- 泛型方法格式:修饰符 <泛型> 返回值类型 方法名(参数列表(使用泛型)){方法体}
- 泛型接口格式:修饰符 interface 接口名<>{ 必须是抽象的方法}
- 使用:
泛型类: public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable { /** * Constructs an empty list with the specified initial capacity. * * @param initialCapacity the initial capacity of the list * @throws IllegalArgumentException if the specified initial capacity * is negative */ public ArrayList(int initialCapacity) { if (initialCapacity > 0) { this.elementData = new Object[initialCapacity]; } else if (initialCapacity == 0) { this.elementData = EMPTY_ELEMENTDATA; } else { throw new IllegalArgumentException("Illegal Capacity: "+ initialCapacity); } } }
泛型方法: public class WideType { public static void main(String[] args) { WideType m=new WideType(); m.method(1); m.method("倪妮"); m.method(true); m.method(8.8); System.out.println("--------"); method2(8); method2("蔡卓亦的微笑"); method2(9.9); method2("l love java"); } public <E> void method(E e){ System.out.println(e); } public static <E> void method2(E e){ System.out.println(e); } }
泛型接口: public interface Iterator<E> { boolean hasNext(); E next(); }
二、通配符 ?
- 定义:
代表任意的数据类型;不能创建对象使用,只能在方法中使用 - 使用
public static void main(String[] args) { ArrayList<String> list=new ArrayList<>(); list.add("倪妮"); list.add("真漂亮!"); list.add("feel"); ArrayList<Integer> list3=new ArrayList<>(); list3.add(2); list3.add(0); print(list); print(list3); } public static void print(ArrayList<?> list2){ Iterator<?> it=list2.iterator(); while(it.hasNext()){ Object next = it.next(); System.out.println(next); } }
这篇关于Java 泛型与通配符 定义与使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南