如何在方法中使用不同的类作为参数

She*_*eri 1 java generics coding-style java-ee

我要解释我的问题这么清楚我可以:)

我在jar文件中使用webservice.在这个jar文件中,我将使用不同的类.每节课一年:

  • 2012年有一个名为Service12的课程.
  • 2013年有一个名为Service13的课程.
  • 2014年有一个名为service14的课程.

等等.

这些类只是使用,我无法更改此jar文件中的任何内容.

我会在webService中使用每年的课程,但不会使用if-else,因为它超过20年的服务方法:

public myObj methodA (int year){
    ServiceXX serviceXX = myWebService.useThisService(ServiceXX.class);
}
Run Code Online (Sandbox Code Playgroud)

为MyWebService有这样一个泛型方法:

public <T> T useThisService(Class<T> serviceClass) {        
    return (T) this.getService(serviceClass);
}
Run Code Online (Sandbox Code Playgroud)

我怎么能没有任何这样的代码了methodA if-else我可以正确的用户ServiceXX各为一年.

希望它足够清楚,以获得帮助.

Raf*_*ssi 5

你能用myWebService.useThisService(Class.forName("Service" + year));吗?