- 泛形的基本术语,以ArrayList<E>为例:<>念着typeof
- ArrayList<E>中的E称为类型参数变量
- ArrayList<Integer>中的Integer称为实际类型参数
- 整个称为ArrayList<E>泛型类型
- 整个ArrayList<Integer>称为参数化的类型ParameterizedType
- 以上是常规泛型的应用,下面我们简单介绍自定义泛型应用
- Java程序中的普通方法、构造方法和静态方法中都可以使用泛型。方法使用泛形前,必须对泛形进行声明,语法:<T> ,T可以是任意字母,但通常必须要大写。<T>通常需放在方法的返回值声明之前。例如:
public static <T> void doxx(T t);
public class Test<T>{}
- 我们还可以直接再类上加上泛型的使用,但是需要注意的是即使我们再累上加上泛型,在静态方法上也要加上泛型其它方法可不加。
- 还要注意泛型<T>是引用数据类型(也就是说八种基本类型除外 byte short int long float double char
boolean )
/** 实现一个简单的数组位置的交换 */
public static <T> void test1(T arr[], int i, int j) {
T temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
/* 实现数组的倒序 */
public static <T> void test2(T arr[]) {
int startindex = 0;
int endindex = arr.length - 1;
for (;;) {
if (startindex >= endindex) {
break;
}
T temp = arr[startindex];
arr[startindex] = arr[endindex];
arr[endindex] = temp;
startindex++;
endindex--;
}
}
那么我们在main方法中应该怎么调用呢,特别注意必须是应用数据类型
public static void main(String[] args) {
Integer arr[] = { 1, 2, 3, 4 };
// test1(arr,0,2);? 怎么使用呢?引用数据类型
test2(arr);
for (int ar : arr) {
System.out.print("[" + ar + "," + "]");
}
}
只定义两个变量换值
public static void testChange() {
int i = 10;
int j = 111;
// i=11 j=10;
/*
* i=i+j; j=i-j; i=i-j;
*
* System.out.println(i+" "+j);
*/
/*
* 1001 i 1100 j ------- 0101 i 1100 j ----- 1001 j 0101 i 1100 i
*
*
*
* 0101 i 1001 i ------- 1100 j
*/
i = i ^ j; // i
j = i ^ j; // j
i = i ^ j;
System.out.println(i + " " + j);
}
分享到:
相关推荐
一个泛型集合的应用,主要讲的dictionary,obj>的应用
Python中泛型函数应用案例.pdf
收藏了枚举和泛型的一些具体的应用实例,希望能给大家更多的帮助!
集合了C++多重泛型应用实例,让初学者能够了解泛型编程的魅力,为学好C++ 打下良好基础。
网上很多讲泛型原理的文章, 很少有提到我们什么时候使用泛型有优势, 我就泛型类和方法搞了两个实例,算是探索下泛型使用的冰山一角吧,在我博客里面有配套的文章,可以配套看.
此实例代码大部分从网上整理而来,因为近期感觉泛型、集合等在ASP.NET web项目中开发还是比较重要的,对提高系统情能很有帮助。
通过泛型可以定义类型安全类,而不会损害类型安全、性能或工作效率
Python中泛型函数应用案例
Java源代码带两个类型参数的泛型的应用.rar
拼图 智力 智力拼图 C# C#源码 源码 北大青鸟 高老师 知识点 泛型集合应用
c# 泛型应用实例, c#(vs2008)
泛型类、泛型方法、泛型接口、泛型委托 泛型类、泛型方法、泛型接口、泛型委托
java 面向程序设计 数组、字符串、枚举、泛型的应用
Delphi中的泛型基础及简单应用
泛型集合与数组应用老师找学生 泛型集合 数组应用 老师找学生 C# 北大青鸟高老师
C#中的集合与泛型应用实例,针对集合与泛型进行详细讲解,代码简单易懂。
java面向程序设计数组、字符串、枚举、泛型的应用[参照].pdf
这是一个泛型委托的示例,主要是让初学者了解泛型委托的用法,虽然很简单,但是代码有注释,我的这个例子是在vs2010中做的,用vs08的朋友们,最好还是转一下,但是绝对能实现(本程序是控制台应用程序,适合初学者)...
泛型集合解释的非常好泛型集合泛型集合泛型集合解释的非常好泛型集合泛型集合泛型集合解释的非常好泛型集合泛型集合泛型集合解释的非常好泛型集合泛型集合