Dans un exemple de code Android donné dans un livre concernant la barre d'action, l'échantillon donné est comme suit: Comment utiliser des accolades frisées après un demi-point possible? Il y a clairement un concept que je ne comprends pas ici. P> p>
3 Réponses :
Il s'appelle des blocs de code anonyme, ils sont censés
Ils sont complètement facultatifs dans ce cas et n'ont aucun effet secondaire. Dans votre exemple, il sert à proposer le code plus lisible par l'intention de la tâche de propriété qui appartiennent au contrôle. Vous pourriez aussi bien le faire sans les accolades. Mais si vous utilisiez un outil pour reformater votre code, l'indentation est probablement partie.
Toutefois, si vous avez une méthode et que vous mettez {} dans votre présence, vous pouvez créer une nouvelle portée variable: p> xxx pré>
Vous pouvez démarrer une nouvelle portée n'importe où dans une méthode dans laquelle vous pouvez démarrer une instruction (déclaration de variable, un appel de méthode, une boucle, etc.) P>
Remarque: Vous avez par exemple une déclaration IF-IF-ÉLIMANCE, vous créez également une nouvelle portée variable avec ces accolades. P>
void someMethod() {
if (someThing) {
int x = 1;
}
// no x defined here
if (somethingElse) {
// no x here, so we may define a new one
string x = "Hello";
}
}
une explication claire. Merci.
Ce sont des blocs d'initialisation Je ne pense pas que ce soit la bonne utilisation du bloc d'initialisation.
Outre l'exemple que vous avez produit, ces blocs sont simplement utilisés pour l'initialisation. Cliquez ici pour une vue détaillée. P>
Ils [I> pourraient être un initialiseur, mais ils pourraient également être une simple déclaration de bloc dans une méthode. Nous ne pouvons pas dire sans voir le contexte.
Bien sûr, l'utilisation dépend complètement du développeur
Pour autant que je sache, c'est la même chose que si vous quittez le {}. Menu.add est une commande, Menu.Seticon est la suivante, Menu.sehowowascAction suivante. Les accolades peuvent être utilisées pour déclarer des blocs de code.
Seul un duplicata de ce si vous savez i> c'est un bloc de code anonyme.