作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试使用构造函数(来自 Ektorp 库)扩展以下类:
public class CouchDbRepositorySupport<T extends CouchDbDocument> implements GenericRepository<T> {
...
protected CouchDbRepositorySupport(Class<T> type, CouchDbConnector db) {
...
}
这是我的实现:
public class OrderRepository extends CouchDbRepositorySupport<Order<MenuItem>> {
public OrderRepository(CouchDbConnector db) {
super(Order<MenuItem>.class, db);
问题出在 Order<MenuItem>.class
部分。 Java 编译器告诉我:
Syntax error on token ">", void expected after this
我试过 (Order<MenuItem>).class
, Order.class
和 new Order<MenuItem>().getClass()
没有更好的运气。
如何检索泛型类的 .class 属性?
最佳答案
正确的语法是:
Order.class
在 Java 中,Order<MenuItem>.class
和 Order.class
在运行时是相同类,泛型类型信息(<MenuItem>
类型参数)在运行时丢失,因为type erasure - Java 泛型类型系统的严重限制。
关于java - 检索泛型类的 .class 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10608021/
我是一名优秀的程序员,十分优秀!