2013-10-11 20 views
1

我正在使用其他人的圖書館,我無法更改。 現在我發現一個API已被更改。android 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個版本。

有什麼方法可以解決它嗎?任何建議,將不勝感激。謝謝!

+0

我覺得u're尋找http://stackoverflow.com/a/3940823/1615250如果正確答案進行檢查。 Ty –

回答

1

基本上Java不支持條件編譯一樣,C++確實喜歡在C++中,

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

但有一個你可以用它下面有一些鏈接,可以幫助你在相同的概念調用優化。 Java conditional compilation: how to prevent code chunks to be compiled?

Conditional compile

Conditional Compilation In Java

+0

謝謝!也許我不清楚這個問題。我需要在運行時檢查目標版本。最後,我通過java反射解決了它。 –