java基礎-泛型

一個簡單的集合類,可使用任意對象進行添加,內容能夠幫助理解泛型和如何建立一個自定義的泛型類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

相關文章
相關標籤/搜索