`

泛型基础综合

 
阅读更多
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){
//			
//		}
	}

}

 

分享到:
评论

相关推荐

    C++泛型编程和设计模式应用

    1. 泛型编程基础:介绍C++模板的基础知识,包括函数模板、类模板、模板特化、模板元编程等。 2. 标准模板库(STL):讲解STL的核心组件,如容器(vector, list, set等)、迭代器、算法和函数对象,以及如何利用它们...

    JAVA基础综合

    【JAVA基础综合】知识点详解 Java作为一种广泛使用的编程语言,其基础知识涵盖了众多方面,包括语法、面向对象特性、集合框架、异常处理、IO流、多线程等。在这个主题下,我们将深入探讨这些核心概念。 1. **Java...

    Java入门基础.pdf

    "Java入门基础.pdf" ...* 泛型基础 * 泛型基础2 * 泛型封装 内存管理 * JVM内存模型 * Stack * Heap * Java基础入门笔记 本文档涵盖了Java入门基础的多方面的知识点,是Java开发者的必备学习资源。

    第8章 集合类与泛型程序设计

    第一个树以Collection接口为根,它是所有集合类的基础,提供了通用的操作方法,如添加、删除和遍历元素。Collection接口的子接口包括Set和List,分别支持无序不重复元素和有序元素的操作。第二棵树以Map接口为根,...

    java基础 综合项目代码

    "Java基础 综合项目代码" 提供的可能是对初学者或有经验的开发者进行Java编程实践的一个综合性的项目,旨在巩固和应用Java基础知识。在这个项目中,你可能会遇到以下关键知识点: 1. **基本语法**:包括数据类型...

    Java+Java基础知识+基本概念+运算符+判断和循环+循环高级和数组+方法+综合练习+面向对象+面向对象综合熏硫胺+字符串等

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

    javaWeb综合实例

    这个实例——"javaWeb综合实例",涉及到了数据库连接对象池、泛型、反射和线程缓存等核心概念,这些都是JavaWeb开发中不可或缺的技术组件。接下来,我们将详细探讨这些知识点。 首先,数据库连接对象池(如C3P0、...

    Java基础、面试等综合练习

    Java作为一款广泛使用的编程语言,其基础知识和面试技巧对于开发者来说至关...通过这些综合练习,学习者不仅可以加深对Java语言的理解,还能掌握实际项目开发中常用的技术和解决策略,为面试和实际工作打下坚实的基础。

    c++教材习题以及综合练习

    《C++教材习题及综合练习》 C++是一门广泛应用的编程语言,它结合了面向对象编程、泛型编程和过程化编程等多种特性。初学者在学习C++时,通常会通过解决习题和实践项目来加深理解。本文将讨论给定文件中的几个关键...

    Java综合经典实例大全

    《Java综合经典实例大全》是Java编程学习的重要资源,它包含了一系列丰富且具有代表性的实例,旨在帮助开发者深入理解和熟练运用Java语言。本资源主要针对Java编程初学者和有一定经验的开发者,通过实际操作和实践,...

    华为综合面试题集及感受

    华为面试题集及感受 ...华为的面试题集及感受涵盖了JAVA基础知识、面向对象编程、多线程编程、网络编程、数据库编程、Servlet和JSP、异常处理、泛型编程和设计模式等多个方面,旨在考查应聘者的JAVA知识和编程能力。

    全网首发黑马程序员鸿蒙 HarmonyOS NEXT星河版零基础入门到实战,零基础也能快速入门鸿蒙开发教程2

    6. **泛型函数**:"95-93-泛型函数-480P 清晰-AVC.mp4"带你了解泛型,这是一种强大的编程技巧,可以提高代码的灵活性和可重用性,适用于处理不同类型的数据。 7. **模块化语法**:"97-95-模块化语法-480P 清晰-AVC....

    C++课程PPT,上机实验报告,期末课程综合设计

    4. **模板**:讨论了函数模板和类模板的使用,以及模板元编程,为编写泛型代码提供支持。 5. **STL(Standard Template Library)**:讲解了容器(如vector、list、set、map等)、迭代器、算法和函数对象,这些是...

    c++实现综合评价模型

    总之,"c++实现综合评价模型"是一个涵盖了C++基础、数据处理、算法设计等多个方面的项目。开发者需要对C++编程有深入理解,同时熟悉权重分配、动态调整、数据标准化等统计学和数学概念。通过这个项目,不仅可以锻炼...

    《安全编程技术实验》教学大纲.docx

    2. 自定义泛型的综合应用:学生可以学习如何编写一个应用自定义泛型的类,并测试其正确性。 知识点:泛型编程、自定义泛型、Java泛型机制。 3. 注释的综合运用:通过实验,学生可以学习如何利用注释实现方法的权限...

    Java-Generics-and-Collections

    ### 泛型基础 #### 1. 泛型的概念 - **定义**:Java泛型是一种在编译时检查类型安全,并且所有的强制转换都是自动和隐式的语言特性。 - **优点**: - 提高代码重用性。 - 在编译期进行类型检查,避免运行时出现`...

    北大JAVA基础教程

    12. **泛型**:了解泛型的概念,以及泛型类、泛型接口、泛型方法的编写。 13. **JNI与JNI编程**:介绍JAVA本地接口,用于调用C/C++代码,实现JAVA与底层库的交互。 14. **JAVA网络编程**:讲解Socket编程,实现...

    JavaSE基础学习资料文档

    《JavaSE基础学习资料文档》是一份专为Java初学者设计的综合教程,涵盖了Java语言的基础至进阶知识。这份资料旨在帮助学习者深入理解Java编程语言,通过分析源码来探索其底层运行机制,从而提升编程技能。下面将详细...

    《Java技术》综合练习题

    此外,还要了解泛型、迭代器和集合转换等高级用法。 异常处理是Java中的错误处理机制,通过try-catch-finally语句块来捕获和处理运行时错误。在练习中,你需要学会如何正确地抛出和处理异常,确保程序的健壮性。...

Global site tag (gtag.js) - Google Analytics