Java的.如何改变方法签名

Ski*_*kip 3 java generics methods signature

是否可以根据参数更改Java中的方法签名?

例:

给定一个类,带有泛型参数MyItem<T>.假设这个类有一个方法,它返回T 给定第二个类'myReturner()',它包含方法myreturn(MyItem<T>).

题:

我可以myreturn(MyItem<T>)返回一个T对象,具体取决于MyItem的泛型参数吗?

我想这是不可能的,因为签名是在Java编译期间设置的,并且在编译时不知道T. 如果是这样,模拟方法的最佳方法是什么,它将返回不同的对象,具体取决于参数?是为每种参数类型编写自己的方法唯一的方法吗?

rod*_*oap 7

像这样的东西?

private <T> T getService(Class<T> type) {
    T service = ServiceTracker.retrieveService(type);
    return service;
}
Run Code Online (Sandbox Code Playgroud)