的Android功能Android的:如何設置默認值的參數變量
PHP例子:
function HaHa($a = "Test") { print $a; }
的問題是如何做到這一點的機器人......
public void someFunction(int ttt = 5)
{
// something
}
上面的解決方案不起作用,我該怎麼辦?
謝謝!
的Android功能Android的:如何設置默認值的參數變量
PHP例子:
function HaHa($a = "Test") { print $a; }
的問題是如何做到這一點的機器人......
public void someFunction(int ttt = 5)
{
// something
}
上面的解決方案不起作用,我該怎麼辦?
謝謝!
沒有,Java不支持的功能parameteres默認值。有一個關於借款語言有趣的訊息功能位置:http://java.dzone.com/news/default-argument-values-java
我這麼認爲,但原生函數以某種方式支持它......我實際上不記得一個......或者,例如JSONArray可以從不同的來源構建:字符串,JSONTokener x,集合集合或空白...我認爲可以有工作 – 2011-04-07 13:02:30
好了解決我的問題是將String []放在裏面,可以添加或刪除參數。 .. – 2011-04-07 13:03:15
在這篇文章中它是很好的解決方法...謝謝! – 2011-04-07 14:16:10
Java不支持語法,會做你想要的。
也許在someFunction(INT)開始,你可以只檢查傳入的值,並分配一個不同的值,如果你不喜歡什麼未來。
if (ttt == 0) ttt = 5;
請注意出現這個問題與android無關,因此被錯誤標記。
可以濫用超載這樣的:
int someMethod() { return someMethod(42); }
int someMethod(int arg) { .... }
無需超載什麼,就寫:
public int getScore(int score, Integer... bonus)
{
if(bonus.length > 0)
{
return score + bonus[0];
}
else
{
return score;
}
}
我覺得這樣比較好。它可以簡化,如'return bonus.length> 0?得分+獎金[0]:得分;' – Sithu 2016-02-25 07:25:29
可以使用重載函數。 重載也是可以的,但如果你需要多個參數的默認值,你最終會創建具有所有可能的默認參數組合的許多方法,假設你想爲3個參數設置一個默認值。你最終會與此
public void methodA(A arg1) { }
public void methodA(B arg2,) { }
public void methodA(C arg3) { }
public void methodA(A arg1, B arg2) { }
public void methodA(A arg1, C arg3) { }
public void methodA(B arg2, C arg3) { }
public void methodA(A arg1, B arg2, C arg3) { }
因此,這裏的黑客我爲我所做的,你也可以使用
public static void main(String[] args)
{
defaultParameter();
defaultParameter(true);
}
public static void defaultParameter(Boolean ...gender)
{
boolean genderBoolean = false; // It the default value you want to give
if(gender.length == 1)
{
genderBoolean = gender[0]; // Overrided Value
}
System.out.println(genderBoolean);
}
上面的代碼將genrate導致
false
true
我發現這裏的例子java-default-parameter-values
執行像這樣(3點):
public void doSomething(boolean... arg1) {
boolean MyArg1= (arg1.length >= 1) ? arg1: false;
}
我不認爲我們能做到這一點在Java中。如果我沒有記錯的話,我可以大膽猜測這是Java 7中的一個特性。因此,在這種情況下,可以檢查變量'ttt'是否爲null,如果它的null ,給它分配一個值。 – 2011-04-07 12:55:54
相關:不支持Java默認參數值?(http://stackoverflow.com/questions/997482/does-java-support-default-parameter-values) – eldarerathis 2011-04-07 12:57:20
[Java的可選參數]的可能的複製(HTTP:/ /stackoverflow.com/questions/965690/java-optional-parameters) – 2017-01-12 08:29:54