可能重复:
Java reflection: Get concrete type of implemented generic interface
说我有一个界面:
public interface Monitor<T extends com.google.protobuf.Message>{
public void checkMessage(T message)
}
和具体实施:
public class MyMonitor implements Monitor<GeneratedMessage>{
@Override
public void checkMessage(GeneratedMessage message){
//do something
}
}
我想编写一个实用程序方法,我可以将MyMonitor传递给它将返回GeneratedMessage.class。有没有办法做到这一点?我见过几个与此相关的博客,但大多数都与扩展类有关。
此外,如果可能,我是否可以声明Monitor<GeneratedMessage> monitor = new MyMonitor();
并将监视器传递给相同的方法,并返回GeneratedMessage?