解决类,接口,方法的的复用性,以及对不特定数据类型的支持
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"));