泛型学习—01_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 泛型学习—01

泛型学习—01

 2013/10/15 12:45:45  MNTMs  程序员俱乐部  我要评论(0)
  • 摘要:package泛型1;/***定义一个泛型类,并且里面可以同时传入三个不同类型的数据*/publicclassGenericsArrayList<T,K,B>{privateT[]arr1;privateK[]arr2;privateB[]arr3;privateintindex;privateintindex2;privateintindex3;//默认的构造方法@SuppressWarnings("unchecked")publicGenericsArrayList()
  • 标签:学习 泛型

package 泛型1;
/**
?* 定义一个泛型类,并且 里面可以同时传入三个不同类型的数据
?*/
public class GenericsArrayList<T,K,B> {
?
?private T[] arr1;
?private K[] arr2;
??? private B[] arr3;
?private int index;
?private int index2;
?private int index3;
?
?
?//默认的构造方法
?@SuppressWarnings("unchecked")
?public GenericsArrayList() {
??arr1 = (T[]) new Object[10];
??arr2 = (K[]) new Object[10];
??arr3 = (B[]) new Object[10];
?}
?
?//重载构造方法,初始化数组的大小
?@SuppressWarnings("unchecked")
?public GenericsArrayList(int size) {
??arr1 = (T[]) new Object[size];
??arr2 = (K[]) new Object[size];
??arr3 = (B[]) new Object[size];
?}
?
?//定义增加一个元素的方法
?public void add(T var,K var2,B var3) {
??arr1[index++] = var;
??arr2[index2++] = var2;
??arr3[index3++] = var3;
?}
?
?
?//定义返回一个元素的方法
?public T geteLme(int index) {
??return arr1[index];
?}
?
?public K? geteLme2(int index) {
??return arr2[index];
?}
?
?public B? geteLme3(int index) {
??return arr3[index];
?}
?
?//同时返回三个元素的方法
?public Object get(int index) {
??return arr1[index]+" "+arr2[index]+"? "+arr3[index];
?}

}

package 泛型1;
/**
?* 入口函数类,实现GenericsArryList中的各个方法
?*/

public class TestGenericsArrayList {
?public static void main(String[] args) {
???? //创建一个泛型的对象,并初始化各数组
??GenericsArrayList<Integer,String,Boolean> arry = new GenericsArrayList<Integer,String,Boolean>();
???? arry.add(1,"小红",true);
???? arry.add(2, "小明",false);
???? arry.add(3, "小张",true);
????
???? //打印出各个类型的元素
??? System.out.println("分别输出各个类型的数据如下:");
??? System.out.print(arry.geteLme(0)+" ");
??? System.out.print(arry.geteLme(1)+" ");
??? System.out.println(arry.geteLme(2));
???
??? System.out.print(arry.geteLme2(0)+" ");
??? System.out.print(arry.geteLme2(1)+" ");
??? System.out.println(arry.geteLme2(2));
???
??? System.out.print(arry.geteLme3(0)+" ");
??? System.out.print(arry.geteLme3(1)+" ");
??? System.out.println(arry.geteLme3(2));
???
??? System.out.println("一起输出各个类型的数据如下:");
??? System.out.println(arry.get(0));
??? System.out.println(arry.get(1));
??? System.out.println(arry.get(2));
?}
?
}

程序运行结果:

分别输出各个类型的数据如下:
1 2 3
小红 小明 小张
true false true
一起输出各个类型的数据如下:
1 小红? true
2 小明? false
3 小张? true

发表评论
用户名: 匿名