用java做android开发也一年多了,也做了一些小的项目,却从来也没正儿八经的学过java,都是边用边学。以后遇到觉得好的java知识点就拿来专门的学习学习吧,好了,一段简单的代码来学习下java模板类与数组
import java.util.*;
public class Hello {
public static void main (String [] args) {
String[] str1 = {"hello", "i", "am", "Jarry1"};
String[] str2 = {"hello", "i", "am", "Jarry2"};
String[] str3 = {"hello", "i", "am", "Jarry3"};
String[] str4 = {"hello", "i", "am", "Jarry4"};
Vector v1 = new Vector(str1);
Vector v2 = new Vector(str2);
Vector v3= new Vector(str3);
Vector v4 = new Vector(str4);
Vector v = new Vector();
v.func(new Vector[] {v1, v2, v3,v4});
}
private static class Vector<T> {
T[] obj;
public Vector() {}
public Vector(T[] obj) {
this.obj=obj;
}
void func(Vector<?>... args) {
for (int i=0; i< args.length; i++ ) {
for (int j=0; j< args[i].obj.length ; j++ ) {
System.out.print(args[i].obj[j] + " ");
}
System.out.print("\n");
}
}
}
}
输出:
hello i am Jarry1
hello i am Jarry2
hello i am Jarry3
hello i am Jarry4
我想这个例子已经很简单了吧,其中:void func(Vector<?>... args)
等价于 void func(Vector<T>[] args)
, 模板T,必须是Object类型,不能是基本数据类型。因为是在静态的main函数里去声明Vector对象,所以Vector内部类也应该是静态的(静态上下文不能引用非静态变量)