我遇到了这种语法:
public <T extends Parcelable> T getParcelable(String key)
返回类型之前有什么意义?
问号而不是T?
SparseArray<? extends Parcelable> array =(SparseArray<? extends Parcelable>) obj;
答案 0 :(得分:2)
public <T extends Parcelable>
这意味着返回的值将是任何类的实例,该类来自Parcelable
或实现Parcelable
接口。
SparseArray<? extends Parcelable> array
这意味着array
将保留任何类的对象,只要它们从Parcelable
下降或实现Parcelable
接口即可。
查看Understanding upper and lower bounds on ? in Java Generics