Skip to content

Latest commit

 

History

History
55 lines (43 loc) · 852 Bytes

200701.md

File metadata and controls

55 lines (43 loc) · 852 Bytes

泛型,泛型方法,泛型类,泛型接口

泛型

解决类,接口,方法的的复用性,以及对不特定数据类型的支持

泛型方法

T getData<T>(T params) {
    return params;
}

String data = getData<String>("test");

泛型类

class Array<T> {
    List list = new List<T>();
    void add(T val) {
        list.add(val);
    }
}
Array<String> arr = new Array<String>();

泛型接口

abstract class Storage<T>{
    Map m;
    void set(String key, T value);
    get(String key);
}

class Cache<T> implements Storage<T> {
    @override
    Map m = new Map();

    @override
    get(String key) {
        return m[key];
    }
    
    @override
    void set (String key, T value) {
        m[key] = value;
    }
  
}
Storage cache = new Cache<String>();
cache.set("key", "5");
print(cache.get("key"));