import java.util.ArrayList; import java.util.Collection; import java.util.List; public class GenericTest { public static void main(String[] args) { //定义泛型 List<? extends Object> c = new ArrayList<String>(); Collection<? super Integer> t = new ArrayList<Number>(); // c.add("s"); // t.add(1f); // Class<String> cls = Class.forName("java.lang.String"); // Integer i = add(2, 3); //T的类型值取参数的交集 // Number j = add(2.4,2); // Object x = add(4,"4"); String[] strs = new String[]{"aa","bb","cc","dd","ee"}; Integer[] itrs = {1,2,3,4,5,6}; strs = swapArray(strs, "cc", "ee"); itrs = swapArray(itrs, 1, 4); //泛型必须是引用类型 // swapArray(new int[]{1,2,3,4,5}, 1, 4); error printArray(strs); printArray(itrs); } //泛型用<>定义 public static <T> T add(T a,T b){ return null; } //打印数组 public static <T> void printArray(T[] a){ for(int i=0;i<=a.length-1;i++){ System.out.print(a[i] + " "); } } //交换数组内值 public static <T> T[] swapArray(T[] a,T x,T y){ int xIndex = -1; int yIndex = -1; for(int i=0;i<=a.length-1;i++){ if(a[i].equals(x)){ xIndex = i; } if(a[i].equals(y)){ yIndex = i; } } if(xIndex!=-1 && yIndex!=-1){ T temp = a[xIndex]; a[xIndex] = a[yIndex]; a[yIndex] = temp; } return a; } //可以用泛型去表示异常,但是不能catch泛型 public static <T extends Exception> void sayHello() throws T{ // try{ // // }catch(T t){ // // } } }
相关推荐
1. 泛型编程基础:介绍C++模板的基础知识,包括函数模板、类模板、模板特化、模板元编程等。 2. 标准模板库(STL):讲解STL的核心组件,如容器(vector, list, set等)、迭代器、算法和函数对象,以及如何利用它们...
【JAVA基础综合】知识点详解 Java作为一种广泛使用的编程语言,其基础知识涵盖了众多方面,包括语法、面向对象特性、集合框架、异常处理、IO流、多线程等。在这个主题下,我们将深入探讨这些核心概念。 1. **Java...
"Java入门基础.pdf" ...* 泛型基础 * 泛型基础2 * 泛型封装 内存管理 * JVM内存模型 * Stack * Heap * Java基础入门笔记 本文档涵盖了Java入门基础的多方面的知识点,是Java开发者的必备学习资源。
第一个树以Collection接口为根,它是所有集合类的基础,提供了通用的操作方法,如添加、删除和遍历元素。Collection接口的子接口包括Set和List,分别支持无序不重复元素和有序元素的操作。第二棵树以Map接口为根,...
"Java基础 综合项目代码" 提供的可能是对初学者或有经验的开发者进行Java编程实践的一个综合性的项目,旨在巩固和应用Java基础知识。在这个项目中,你可能会遇到以下关键知识点: 1. **基本语法**:包括数据类型...
Java基础知识,其中包括基本概念+运算符+判断和循环+循环高级和数组+方法+综合练习+面向对象+面向对象综合训练+字符串+集合&学生管理系统+学生管理系统升级版+面向对象进阶(static&继承+多态+包&final&权限+抽象类&...
这个实例——"javaWeb综合实例",涉及到了数据库连接对象池、泛型、反射和线程缓存等核心概念,这些都是JavaWeb开发中不可或缺的技术组件。接下来,我们将详细探讨这些知识点。 首先,数据库连接对象池(如C3P0、...
Java作为一款广泛使用的编程语言,其基础知识和面试技巧对于开发者来说至关...通过这些综合练习,学习者不仅可以加深对Java语言的理解,还能掌握实际项目开发中常用的技术和解决策略,为面试和实际工作打下坚实的基础。
《C++教材习题及综合练习》 C++是一门广泛应用的编程语言,它结合了面向对象编程、泛型编程和过程化编程等多种特性。初学者在学习C++时,通常会通过解决习题和实践项目来加深理解。本文将讨论给定文件中的几个关键...
《Java综合经典实例大全》是Java编程学习的重要资源,它包含了一系列丰富且具有代表性的实例,旨在帮助开发者深入理解和熟练运用Java语言。本资源主要针对Java编程初学者和有一定经验的开发者,通过实际操作和实践,...
华为面试题集及感受 ...华为的面试题集及感受涵盖了JAVA基础知识、面向对象编程、多线程编程、网络编程、数据库编程、Servlet和JSP、异常处理、泛型编程和设计模式等多个方面,旨在考查应聘者的JAVA知识和编程能力。
6. **泛型函数**:"95-93-泛型函数-480P 清晰-AVC.mp4"带你了解泛型,这是一种强大的编程技巧,可以提高代码的灵活性和可重用性,适用于处理不同类型的数据。 7. **模块化语法**:"97-95-模块化语法-480P 清晰-AVC....
4. **模板**:讨论了函数模板和类模板的使用,以及模板元编程,为编写泛型代码提供支持。 5. **STL(Standard Template Library)**:讲解了容器(如vector、list、set、map等)、迭代器、算法和函数对象,这些是...
总之,"c++实现综合评价模型"是一个涵盖了C++基础、数据处理、算法设计等多个方面的项目。开发者需要对C++编程有深入理解,同时熟悉权重分配、动态调整、数据标准化等统计学和数学概念。通过这个项目,不仅可以锻炼...
2. 自定义泛型的综合应用:学生可以学习如何编写一个应用自定义泛型的类,并测试其正确性。 知识点:泛型编程、自定义泛型、Java泛型机制。 3. 注释的综合运用:通过实验,学生可以学习如何利用注释实现方法的权限...
### 泛型基础 #### 1. 泛型的概念 - **定义**:Java泛型是一种在编译时检查类型安全,并且所有的强制转换都是自动和隐式的语言特性。 - **优点**: - 提高代码重用性。 - 在编译期进行类型检查,避免运行时出现`...
12. **泛型**:了解泛型的概念,以及泛型类、泛型接口、泛型方法的编写。 13. **JNI与JNI编程**:介绍JAVA本地接口,用于调用C/C++代码,实现JAVA与底层库的交互。 14. **JAVA网络编程**:讲解Socket编程,实现...
《JavaSE基础学习资料文档》是一份专为Java初学者设计的综合教程,涵盖了Java语言的基础至进阶知识。这份资料旨在帮助学习者深入理解Java编程语言,通过分析源码来探索其底层运行机制,从而提升编程技能。下面将详细...
此外,还要了解泛型、迭代器和集合转换等高级用法。 异常处理是Java中的错误处理机制,通过try-catch-finally语句块来捕获和处理运行时错误。在练习中,你需要学会如何正确地抛出和处理异常,确保程序的健壮性。...