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){ // // } } }
相关推荐
Java基础知识,其中包括基本概念+运算符+判断和循环+循环高级和数组+方法+综合练习+面向对象+面向对象综合训练+字符串+集合&学生管理系统+学生管理系统升级版+面向对象进阶(static&继承+多态+包&final&权限+抽象类&...
一、实验目的 ★专题:核心专题技术★ ...6.泛型基础 7.[选做]反射和注解——一个综合应用 ★专题:接口基础和面向接口编程★ 1.字符串处理 2.数有关类:数学Math类、随机数类Random、大数类 3.时日API 4.Java
5. Collection集合、数据结构、List集合、泛型、Set集合、可变参数 6. 集合工具类Collections、Map集合、集合嵌套、不可变集合 7. Stream流、异常处理 8. Logback日志框架、阶段项目 9. File、方法递归、字符集、IO...
第2篇讲解了图形界面开发基础、Swing编程、事件处理、数字处理、异常处理、文件的输入与输出、反射、线程、正则表达式、封装类、容器、泛型、数据结构、数据库编程和Applet等高级技术;第3篇讲解了Socket、JSP、...
关于继承和多态的综合简单项目! 运用以前的泛型集合作为基础 在类的基础上添加构造函数以及重载方法
依次讲解了C#开发基础、搭建C#开发环境、变量与常量、复杂的变量类型和...基础、接口和类转换、C#字符串和正则表达式、C#委托和事件、C#泛型、C#文件操作和流文件操作、XML文件操作处理、C#的Windows编程基础、菜单、...
第2 篇讲解了图形界面开发基础、Swing编程、事件处理、数字处理、异常处理、文件的输入与输出、反射、 线程、正则表达式、封装类、容器、泛型、数据结构、数据库编程和Applet等高级技术;第3篇讲解了 Socket、JSP、...
重点知识点:数据类型、核心语法、面向对象、数组、集合、IO流、String/StringBuffer/StringBuilder、线程、并发、反射、泛型。 学习Java开发,首先要学习java基础知识,尤其是校招的时候非常注重基础,即使没有...
开发环境搭建、语法基础、面向对象编程、类型转换、字符串处理与数学运算、控制台应用程序、变体的应用、集合与泛型、调试与单元测试、Lambda表达式、LINQ查询语句、Windows窗体应用程序、WPF基础知识、多线程与...
开发环境搭建、语法基础、面向对象编程、类型转换、字符串处理与数学运算、控制台应用程序、变体的应用、集合与泛型、调试与单元测试、Lambda表达式、LINQ查询语句、Windows窗体应用程序、WPF基础知识、多线程与...
C++基础资料通过框架的形式整理出来,参考资料主要来源于牛客,大神就不用凑热闹了,太基础了。 C++ 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程...
本资源是关于Swift编程语言核心技术及实战应用的综合教程,涵盖了Swift语言的基础知识、高级特性以及实际项目开发中的应用实践。资源内容包括课程视频、学习资料和详细的代码示例,旨在帮助学习者全面掌握Swift编程...
内容涉及Java开发环境的搭建、Java基础类型与运算符、条件控制语句、异常处理、数组、字符串、输入输出流、面向对象及其四大特征、内部类与接口、Java常用类、集合、多线程编程、Java泛型编程、网络编程、数据库技术...
本书结合C#语言的特点,从最基础的语法开始讲起,引导读者完成一个完整的综合项目。本书分为入门篇、提高篇和实例篇。入门篇介绍了C#语言的语法、流程控制和数组、枚举等,重点强调C#面向对象的编程思想,突出C#的...
全书共分9章,包括应用程序的基础建置技巧、面向对象程序设计简介、一般性的程序开发技巧、泛型、探讨重要的人机界面的设计技巧以及工具栏、内容菜单及状态栏等内容。书中包含有大量范例,可作为专业编程人员的参考...
全书共分9章,包括应用程序的基础建置技巧、面向对象程序设计简介、一般性的程序开发技巧、泛型、探讨重要的人机界面的设计技巧以及工具栏、内容菜单及状态栏等内容。书中包含有大量范例,可作为专业编程人员的参考...
2022年最新资源,对于刚刚学完java基础和mysql数据库的同学下载练手,综合了面向对象、接口、多态、泛型、集合、JDBC、数据库、mysql的综合性知识
全书共分9章,包括应用程序的基础生成技巧、面向对象程序设计、程序开发技巧、泛型、用户界面的设计与开发、控件的设计技巧、列表类型控件的设计技巧、人机界面的设计技巧以及工具栏、菜单及状态列等内容。...
全书共分9章,包括应用程序的基础生成技巧、面向对象程序设计、程序开发技巧、泛型、用户界面的设计与开发、控件的设计技巧、列表类型控件的设计技巧、人机界面的设计技巧以及工具栏、菜单及状态列等内容。...