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

时间:2014-01-15 10:50:04

标签: java java-ee generics coding-style

我将如此清楚地解释我的问题:)

我在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);
}

myWebService 有一个像这样的通用方法:

public <T> T useThisService(Class<T> serviceClass) {        
    return (T) this.getService(serviceClass);
}

如何在没有任何if-else的情况下对methodA进行编码我可以为每个用户更正 ServiceXX

希望能够得到帮助。

1 个答案:

答案 0 :(得分:5)

您可以使用myWebService.useThisService(Class.forName("Service" + year));吗?