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>来约束使用的类型

如图:

java基础-泛型

这样做,就可以限制泛型中的类型随意书写的行为

你可能感兴趣的:(泛型)