2017-09-03 71 views
0

我有10多個參數的方法,實際上我應該使用構建器模式編寫它。不過,我認爲轉換成Kotlin會很糟糕。我不知道是否有一種方法可以像Kotlin一樣輕鬆地編寫Java?Java是否有可能使用Kotlin等默認參數創建方法重載?

當我們創建樂趣科特林這樣

fun foo(bar: Int = 0, baz: Int) { /* ... */ } 

foo(baz = 1) // The default value bar = 0 is used 

我們怎麼能寫,未經書面每一個可能在Java類似的方法?

E.g.

不需要寫

void foo(int bar, int baz){ 
... 
} 

void foo(int baz){ 
int bar = 0; 
} 
+2

這是[這個問題](HTTPS的科特林味的版本:// stackoverflow.com/q/997482/3195526) –

回答

3

不是真的你最接近的事是這樣的

void foo(int bar, int baz){ 
    ... 
} 

void foo(int baz){ 
    foo(0,baz); 
} 
+0

很好的答案,但如果你有10+參數。這會是很多方法。 – UmAnusorn

+0

我不確定,但我認爲如果您查看已反編譯的kotlin代碼,您將看到完全如此(imo)是kotlin如何處理字節碼中的默認參數。 –

+0

@umitems IMO如果你有這麼多的參數,你應該嘗試重構方法 – Mibac

相關問題