Java基礎 筆記(四)

來源:互聯網
上載者:User

標籤:java   泛型   

泛型:
泛型:通過<資料額類型>來接受一種引用資料類型,作用在編譯時間,使用檢查
添加集合的對象是否屬於該類型,從而把運行時的問題轉換為編譯時間異常,提高程式的安全性
避免拋出 ClassCastException,同時也不需要類型轉換

<>什麼時候使用?
當操作的引用資料類型不確定的時候,使用<>.把要操作的資料類型傳進來即可
其實<>相當於接受具體的引用資料類型的參數範圍

泛型在介面中的應用:
執行個體:
public class Demo21 {
public static void main(String[] args) {
Manager m = new Manager();
m.add(new Worker(“a”, 23));
m.add(new Worker(“ab”, 21));
m.add(new Worker(“ac”, 22));

    System.out.println("delete-->" + m.del(1));    m.show();}static class Worker {    private String name;    private int age;    public Worker(String name, int age) {        super();        this.name = name;        this.age = age;    }    @Override    public String toString() {        return "Worker [name=" + name + ", age=" + age + "]";    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }}

}

interface IManager {
public void add(T data);

public T del(int index);public void show();

}

class Manager implements IManager {
private List list;
Manager() {
list = new ArrayList();
}
@Override
public void add(T data) {
list.add(data);
}
@Override
public T del(int index) {
T data = list.get(index);
list.remove(index);
return data;
}
@Override
public void show() {
Iterator it = list.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
}
}

// 方法中使用泛型:當方法參數資料類型不確定,使用泛型
class GenericMethod {
public void test(T t) {
System.out.println(“沒有傳回值的方法t”);
}

public <T> T getT(T t) {    System.out.println("有傳回值的方法getT");    return t;}

}

萬用字元:?

限定類型:
? extends E: 接受E類型或者E的子類型,上限
一般儲存物件的時候 addAll()
? super E:接受E類型或者E的父類型,下限
一般用取出對象,比較子
public class Demo22 {
public static void main(String[] args) {
Food f = new Food();
f.setFood(“漢堡”);
System.out.println(f.getFood());
Food f1 = new Food();
f1.setFood(100);
Food f2 = new Food();
buy(f);
buy(f1);
buy1(f1);
buy2(f);
buy2(f2);
}
public static void buy(Food

equals().—>key是唯一的

TreeMap:(key-value)集合,按照鍵進行排序

和TreeSet類似

1)自然順序
2)自訂比較子
a 自訂類實現Comparable介面
b 定義自訂比較子類,實現Comparator介面

(key-value)集合,按照鍵進行排序

和TreeSet類似

1)自然順序
2)自訂比較子
a 自訂類實現Comparable介面
b 定義自訂比較子類,實現Comparator介面

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

Java基礎 筆記(四)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.