1

我正在使用其他人的库,我无法更改。现在我发现一个 API 已经改变了。

以前的版本 1:

int api_it(int a, int b)

新版本2:

int api_it(int a, int b, int c, int d)

我被要求同时支持这两个版本。我以为我可以使用这个(我还在使用以前的 jar 文件),

if( version == 1 )
    api_it(a, b);
else
    api_it(a,b,0,0); 

肯定有编译错误。我认为不可能包含同一个库的 2 个版本。

有什么办法可以解决吗?任何建议将不胜感激。谢谢!

4

1 回答 1

1

基本上java不支持像C++这样的条件编译,

#define Version2
#ifdef Version2
  //Call version 2 function
#ifdef Version1
  //Call version 1 function

但是有一个概念称为优化,您可以使用它,下面是一些可以帮助您的链接。 Java条件编译:如何防止代码块被编译?

条件编译

Java中的条件编译

于 2013-10-11T07:55:52.253 回答