泛型学习—01

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值