一个简单的集合类,可使用任意对象进行添加,内容能够帮助理解泛型和如何建立一个自定义的泛型类java
package com.me.classcast; public class Check { public static void main(String[] args) { ListStack<String> s = new ListStack<String>(); s.add("name"); s.add("age"); s.add("sex"); s.remove(1); System.out.println(s.get(0)); } } class ListStack<T>{ private Object t[]; //初始化 public ListStack(){ this.t = null; } //获取 @SuppressWarnings("unchecked") public T get(int index){ return (T)t[index]; } //新增 public void add(T t){ Object list[] = null; if(this.t != null) list = this.t.clone(); if(list != null){ int len = list.length; this.t = new Object[len + 1]; for(int i = 0;i < len;i++){ this.t[i] = list[i]; } this.t[len] = t; } else { this.t = new Object[1]; this.t[0] = t; } } //获取长度 public int size(){ return this.t.length; } //删除 public void remove(int index){ Object list[] = this.t.clone(); int len = list.length; this.t = new Object[len - 1]; int j = 0; for(int i = 0;i < len;i++){ if(index != i){ this.t[j++] = list[i]; } } } }
在java的泛型书写中,java采用<? extends T>来约束使用的类型this
如图:spa
这样作,就能够限制泛型中的类型随意书写的行为code