Java——容器(泛型)
生活随笔
收集整理的這篇文章主要介紹了
Java——容器(泛型)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
【泛型】
?起因:JDK1.4之前類型不明確 ?<1>裝入集合的類型都被當做Object對待,從而失去自己的實際類型。 ?<2>從集合中取出時往往需要轉型,效率低,且很容易出錯。 ? ?解決辦法: ?<1>在定義集合的時候同時定義集合中對象的類型 ?----實例程序: ?List<String> ?c = new ArrayList<String>(); ?//原本傳入的強制轉換為Object類型,這里不需要了,直接限定為String類型 ?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); ?} ?好處:增強程序的可讀性和穩(wěn)定性 【普通泛型】 ?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("恭喜你!您的車票打八折!");
????????? }
???? } ? ?//這里使用泛型編程,因為傳入的參數(shù)有兩種類型:int,boolean,這樣可以實現(xiàn)不同數(shù)據(jù)類型的操作。
???? public static void main(String[] args) {
????????? discount(new Me());
???? }
}
//職員
interface Staff{
???? //工資
???? public int getSalary();
}
//乘客
interface Passenger{
???? //是否是站立狀態(tài)
???? public boolean isStanding();
}
class Me implements Staff,Passenger{
???? public boolean isStanding(){
????????? return true;
???? }
???? public int getSalary() {
????????? return 2000;?????????
???? }????
} ? ? ? ? ?
轉載于:https://www.cnblogs.com/yedushusheng/p/4354543.html
總結
以上是生活随笔為你收集整理的Java——容器(泛型)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用Shell工具连接虚拟机
- 下一篇: python使用matplotlib可视