`

泛型基础综合

 
阅读更多
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+Java基础知识+基本概念+运算符+判断和循环+循环高级和数组+方法+综合练习+面向对象+面向对象综合熏硫胺+字符串等

    Java基础知识,其中包括基本概念+运算符+判断和循环+循环高级和数组+方法+综合练习+面向对象+面向对象综合训练+字符串+集合&学生管理系统+学生管理系统升级版+面向对象进阶(static&继承+多态+包&final&权限+抽象类&...

    实验项目D、Java应用专题编程

    一、实验目的 ★专题:核心专题技术★ ...6.泛型基础 7.[选做]反射和注解——一个综合应用 ★专题:接口基础和面向接口编程★ 1.字符串处理 2.数有关类:数学Math类、随机数类Random、大数类 3.时日API 4.Java

    Java基础最全笔记文档

    5. Collection集合、数据结构、List集合、泛型、Set集合、可变参数 6. 集合工具类Collections、Map集合、集合嵌套、不可变集合 7. Stream流、异常处理 8. Logback日志框架、阶段项目 9. File、方法递归、字符集、IO...

    由浅入深学Java—基础、进阶与必做260题 高清pdf版

    第2篇讲解了图形界面开发基础、Swing编程、事件处理、数字处理、异常处理、文件的输入与输出、反射、线程、正则表达式、封装类、容器、泛型、数据结构、数据库编程和Applet等高级技术;第3篇讲解了Socket、JSP、...

    关于C#继承多态的应用项目

    关于继承和多态的综合简单项目! 运用以前的泛型集合作为基础 在类的基础上添加构造函数以及重载方法

    开发专家·编程大讲坛:C#核心开发技术从入门到精通.tag.pdf

    依次讲解了C#开发基础、搭建C#开发环境、变量与常量、复杂的变量类型和...基础、接口和类转换、C#字符串和正则表达式、C#委托和事件、C#泛型、C#文件操作和流文件操作、XML文件操作处理、C#的Windows编程基础、菜单、...

    由浅入深学Java—基础、进阶与必做260题.pdf

    第2 篇讲解了图形界面开发基础、Swing编程、事件处理、数字处理、异常处理、文件的输入与输出、反射、 线程、正则表达式、封装类、容器、泛型、数据结构、数据库编程和Applet等高级技术;第3篇讲解了 Socket、JSP、...

    Java后端学习路线 (详细路线)

    重点知识点:数据类型、核心语法、面向对象、数组、集合、IO流、String/StringBuffer/StringBuilder、线程、并发、反射、泛型。 学习Java开发,首先要学习java基础知识,尤其是校招的时候非常注重基础,即使没有...

    C#6.0学习笔记——从第一行C#代码到第一个项目设计(第一个包)

    开发环境搭建、语法基础、面向对象编程、类型转换、字符串处理与数学运算、控制台应用程序、变体的应用、集合与泛型、调试与单元测试、Lambda表达式、LINQ查询语句、Windows窗体应用程序、WPF基础知识、多线程与...

    C#6.0学习笔记——从第一行C#代码到第一个项目设计(第二个包)

    开发环境搭建、语法基础、面向对象编程、类型转换、字符串处理与数学运算、控制台应用程序、变体的应用、集合与泛型、调试与单元测试、Lambda表达式、LINQ查询语句、Windows窗体应用程序、WPF基础知识、多线程与...

    C++工程师第一篇.pdf

    C++基础资料通过框架的形式整理出来,参考资料主要来源于牛客,大神就不用凑热闹了,太基础了。 C++ 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程...

    Swift核心技术与实战(课程+学习资料+视频讲解).rar

    本资源是关于Swift编程语言核心技术及实战应用的综合教程,涵盖了Swift语言的基础知识、高级特性以及实际项目开发中的应用实践。资源内容包括课程视频、学习资料和详细的代码示例,旨在帮助学习者全面掌握Swift编程...

    Java范例开发大全

    内容涉及Java开发环境的搭建、Java基础类型与运算符、条件控制语句、异常处理、数组、字符串、输入输出流、面向对象及其四大特征、内部类与接口、Java常用类、集合、多线程编程、Java泛型编程、网络编程、数据库技术...

    C#轻松入门(ppt)

    本书结合C#语言的特点,从最基础的语法开始讲起,引导读者完成一个完整的综合项目。本书分为入门篇、提高篇和实例篇。入门篇介绍了C#语言的语法、流程控制和数组、枚举等,重点强调C#面向对象的编程思想,突出C#的...

    Visua C# 2005程序开发与界面设计秘诀 光盘part2

    全书共分9章,包括应用程序的基础建置技巧、面向对象程序设计简介、一般性的程序开发技巧、泛型、探讨重要的人机界面的设计技巧以及工具栏、内容菜单及状态栏等内容。书中包含有大量范例,可作为专业编程人员的参考...

    Visua C# 2005程序开发与界面设计秘诀 光盘part1

    全书共分9章,包括应用程序的基础建置技巧、面向对象程序设计简介、一般性的程序开发技巧、泛型、探讨重要的人机界面的设计技巧以及工具栏、内容菜单及状态栏等内容。书中包含有大量范例,可作为专业编程人员的参考...

    2022年 Java swing八套窗体程序实操练手

    2022年最新资源,对于刚刚学完java基础和mysql数据库的同学下载练手,综合了面向对象、接口、多态、泛型、集合、JDBC、数据库、mysql的综合性知识

    Visual Basic2005 程序开发与界面设计秘诀 程序范例 分卷2

    全书共分9章,包括应用程序的基础生成技巧、面向对象程序设计、程序开发技巧、泛型、用户界面的设计与开发、控件的设计技巧、列表类型控件的设计技巧、人机界面的设计技巧以及工具栏、菜单及状态列等内容。...

    Visual Basic2005 程序开发与界面设计秘诀 程序范例 分卷1

    全书共分9章,包括应用程序的基础生成技巧、面向对象程序设计、程序开发技巧、泛型、用户界面的设计与开发、控件的设计技巧、列表类型控件的设计技巧、人机界面的设计技巧以及工具栏、菜单及状态列等内容。...

Global site tag (gtag.js) - Google Analytics