Функция Android
Пример PHP:
function HaHa($a = "Test")
{
print $a;
}
Вопрос в том, как это сделать в android...
public void someFunction(int ttt = 5)
{
// something
}
Решение выше не работает, как я могу это сделать?
Спасибо!
Функция Android
Пример PHP:
function HaHa($a = "Test")
{
print $a;
}
Вопрос в том, как это сделать в android...
public void someFunction(int ttt = 5)
{
// something
}
Решение выше не работает, как я могу это сделать?
Спасибо!
Нет, Java не поддерживает значения по умолчанию для параметров функций. Там интересная статья о возможностях заимствования языка здесь: http://java.dzone.com/news/default-argument-values-java
Вы можете злоупотреблять перегрузкой следующим образом:
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;
}
}
Сделайте это (с 3 точками):
public void doSomething(boolean... arg1) {
boolean MyArg1= (arg1.length >= 1) ? arg1: false;
}
Вы можете использовать перегрузку функции. Перегрузка также хороша, но если вам нужны значения по умолчанию для нескольких аргументов, вы в конечном итоге создадите множество методов со всей возможной комбинацией аргументов по умолчанию, в примере, который вы используете, представьте, что вы хотите иметь значение по умолчанию для трех аргументов. вы закончите с этим
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);
}
Вышеприведенный код будет генерировать результат
false
true
Я узнаю здесь пример java-default-parameter-values
Java не поддерживает синтаксис, который будет делать то, что вы хотите.
Возможно, в начале someFunction (int) вы можете просто проверить входящее значение и присвоить другое значение, если вам не нравится, что входит.
if (ttt == 0) ttt = 5;
Обратите внимание, что этот вопрос не имеет ничего общего с андроидом, и поэтому неправильно помечен.