Java——容器(泛型)

【泛型】編程

 原由:JDK1.4以前類型不明確spa

 <1>裝入集合的類型都被當作Object對待,從而失去本身的實際類型。對象

 <2>從集合中取出時每每須要轉型,效率低,且很容易出錯。get

 

 解決辦法:io

 <1>在定義集合的時候同時定義集合中對象的類型class

 ----實例程序:效率

 List<String>  c = new ArrayList<String>();泛型

 //本來傳入的強制轉換爲Object類型,這裏不須要了,直接限定爲String類型List

 c.add("aa");數據類型

 c.add("bb");

 c.add("cc");

 for(int i=0;i<c.size();i++){

      String c = c.get(i);

      System.out.println(c);

 }

 

 好處:加強程序的可讀性和穩定性

 

【普通泛型】

 package com.company.section1;

public class Client {
     //工資低於2500元的上斑族而且站立的乘客車票打8折
     public static <T extends Staff & Passenger> void discount(T t){
          if(t.getSalary()<2500 && t.isStanding()){
               System.out.println("恭喜你!您的車票打八折!");
          }
     }

   //這裏使用泛型編程,由於傳入的參數有兩種類型:int,boolean,這樣能夠實現不一樣數據類型的操做。


       public static void main(String[] args) {  
            discount(new Me());  
       }  
  }  
 
  //職員  
  interface Staff{  
       //工資  
       public int getSalary();  
  }  
 
  //乘客  
  interface Passenger{  
       //是不是站立狀態  
       public boolean isStanding();  
  }  
 
  class Me implements Staff,Passenger{  
       public boolean isStanding(){  
            return true;  
       }  
       public int getSalary() {  
            return 2000;           
       }      
  }

相關文章
相關標籤/搜索