quelle est la différence entre Java assert
et if() {} else exit;
? Puis-je simplement utiliser if() {} else exit
au lieu de assert
?Différence entre java 'assert' et 'if() {} else exit;'
Répondre
Un peu de google peut-être? "La principale chose que vous devez garder à l'esprit est que l'instruction if-else doit être utilisée pour le contrôle de flux de programme et que le mot-clé assert ne doit être utilisé qu'à des fins de test. pour votre application fonctionne correctement Selon la documentation officielle Java de Sun:. « Chaque affirmation contient une expression booléenne que vous croyez être vrai lorsque l'affirmation exécute. » "
en savoir plus: http://wiki.answers.com/Q/What_is_the_difference_between_assert_keyword_and_if_keyword_in_java#ixzz1v2GGfAhq
voir le code ci-dessous – jcy
'int * ptr = malloc (sizeof (int) * 10);' 'assert (ptr);' '...' ' – jcy
Mettez votre code dans l'étiquette de code afin que je puisse mieux le voir. Cela dépend si vous voulez faire un test. Si vous ne voulez pas séparer vos tests de votre code actuel, utilisez une sortie if-else. Les assertions sont à des fins de test seulement ^^ – Depado
vous pourriez, assert est spécialement conçu pour faire valoir une partie du code,
assert lancera AssertionError
si elle ne parvient pas à affirmer
également Voir
if-else est pour contrôler le flux de votre programme. affirmer ne doit pas être utilisé pour cela! Les assertions sont juste pour avoir des "points de contrôle" dans votre code pour vérifier les conditions qui "devraient toujours" correspondre.
Les assertions peuvent être activées ou désactivées lors de l'exécution d'un programme afin que vous puissiez activer les assertions sur votre environnement de développement/intégration et les désactiver dans la version finale.
le mot-clé assert ne déclenchera une exception que si vous activez les assertions avec -ea
sur le ligne de commande. Le if/else sera toujours exécuté. En plus de cela, le mot-clé assert permet d'écrire du code moins bavard. Comparez:
assert parameter != null;
à:
if(parameter != null)
{
}
else
{
}
Bien sûr, l'assert vous permet d'écrire du code moins bavard, mais vous pouvez toujours écrire 'if (prm == null) throw new Exception (...);'. Les affirmations ne sont tout simplement pas faites à cette fin, elles sont faites de sorte que lors de la mise en production de votre programme, aucun test inutile ne soit fait (parce que vos affirmations sont toujours supposées valides). Par conséquent, ils sont supprimés du package de production. – belka
Affirme sont ignorées à moins que le param -ea est passé:
java -ea myjar.jar
De cette façon, vous pouvez les utiliser lorsque vous testez votre application, mais ignorez-la à d'autres moments.
Je peux simplement ignorer l'affirmation
class A{
public static void main(String[] args) {
assert false;
System.out.println("hi");
}
}
Ce code imprimera salut par défaut
$ java -cp . A
hi
$ java -ea -cp . A
Exception in thread "main" java.lang.AssertionError
at A.main(A.java:6)
peut-je utiliser seulement si() {} sortie autre au lieu de assert?
Oui vous pouvez, mais ...
vous ne seriez pas en mesure de tourner de l'essai, sauf si vous avez fait la condition dépendre d'un indicateur supplémentaire (ce qui le rend plus compliqué, etc.),
vous pas eu la chance d'effectuer bien rangé-en tout enfermant bloc
finally
,il serait plus compliqué de se connecter la cause du problème que si un
AssertionError
(ou toute autre exception) a été lancé, etsi votre code devait être réutilisé (tel quel) dans une autre application, vos appels à
exit
pourraient être problématiques.
- 1. Différence entre pthread_exit() et exit()?
- 2. différence entre "exec" et "exit" dans bash
- 3. différence entre .IF et IF dans l'assemblage
- 4. Différence entre exit() et sys.exit() dans Python
- 5. Différence entre les clauses #if et if?
- 6. if-else-else si
- 7. Instructions Java IF ELSE
- 8. Ruby - Différence entre les instructions if et if then
- 9. Java Erreur 'else' sans 'if'
- 10. Les instructions Java 'if' et 'if else' ne s'impriment pas
- 11. Quelle est la différence entre exit et std :: exit en C++?
- 12. Quelle est la différence entre exit() et abort()?
- 13. Y at-il une différence en C et C++ entre l'utilisation de if, else if, else if, ... et l'utilisation de switch() {case A: ... case B: ...}?
- 14. Instruction if/else Javascript if/else
- 15. Quelle est la différence fondamentale entre l'instruction guard et l'instruction if ... else?
- 16. if-else-if-else dans l'expression textfield
- 17. if et else condition alternative
- 18. Python if/else et elif
- 19. PHP If et else statement -
- 20. PHP if et else instruction
- 21. requête SQL - IF et ELSE
- 22. Sont "elseif" et "else if" complètement?
- 23. Android Lien Hyper Java pour IF Else
- 24. java beginner if/else si problème
- 25. Quelle est la différence entre if et elseif?
- 26. if else instruction sortie incorrecte
- 27. Else if instructions
- 28. Par défaut continuer et if else instructions
- 29. analyse syntaxique if/else/if
- 30. if..else vs if() {return}
Avez-vous essayé de lire la documentation sur 'assert' et ce qu'elle fait? – dhblah