[英]Java Generics: How to specify a Class type for a generic typed class?
[英]How to specify a Class of specific generics type?
我知道以下代碼有效。
Object get(final String name);
<T> T get(final String name, final Class<T> type) {
return type.cast(get(name));
}
有什么辦法嗎?
get(name, Supplier<ByteBuffer>.class); // compiler doesn't like this.
我目前正在像這樣投射原始結果。
(Supplier<ByteBuffer>) get(name);
(Supplier<ByteBuffer>) get(name, Supplier.class);
如果您的投放方式可靠,則可以執行以下操作:
@SuppressWarnings("unchecked")
<T> T getWithCast(final String name) {
return (T) get(name);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.