Fonction Android
Exemple PHP:
function HaHa($a = "Test")
{
print $a;
}
La question est de savoir comment le faire dans Android ...
public void someFunction(int ttt = 5)
{
// something
}
La solution ci-dessus ne fonctionne pas, comment puis-je le faire?
Merci!
Non, Java ne prend pas en charge les valeurs par défaut pour les paramètres de fonction. Voici un article intéressant sur les fonctionnalités de la langue empruntée: http://Java.dzone.com/news/default-argument-values-Java
Vous pouvez abuser de la surcharge comme ceci:
int someMethod() { return someMethod(42); }
int someMethod(int arg) { .... }
Pas besoin de surcharger quoi que ce soit, il suffit d'écrire:
public int getScore(int score, Integer... bonus)
{
if(bonus.length > 0)
{
return score + bonus[0];
}
else
{
return score;
}
}
vous pouvez utiliser la syntaxe 3 dots
:
public void doSomething(boolean... arg1) {
boolean MyArg1= (arg1.length >= 1) ? arg1 : false;
}
Vous pouvez utiliser la surcharge d'une fonction. La surcharge est également acceptable, mais si vous avez besoin de valeurs par défaut pour plusieurs arguments, vous finirez par créer de nombreuses méthodes avec toutes les combinaisons possibles d'arguments par défaut, par exemple, imaginez-vous. veulent avoir une valeur par défaut pour les 3 arguments. vous allez vous retrouver avec ça
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) { }
Alors, voici le bidouillage que j'ai fait pour moi, vous pouvez également utiliser
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);
}
Le code ci-dessus générera un résultat
false
true
Je découvre ici l'exemple Java-default-parameter-values
Java ne supporte pas une syntaxe qui fera ce que vous voulez.
Peut-être qu'au début de someFunction (int), vous pourriez simplement vérifier la valeur entrante et attribuer une valeur différente si vous n'aimez pas ce qui va arriver.
if (ttt == 0) ttt = 5;
S'il vous plaît noter que cette question semble avoir rien à voir avec Android, et est donc mal étiquetés.