Expressions régulières (Java 1.4) · à peu près celles de Perl (ex. "[+-]?[0-9]+(\\.[0-9]*)?" ) · deux classes : Pattern expression régulière « compilée » Matcher application d’un pattern à un texte ( CharSequence ) · méthodes d’un matcher : find() recherche d’une sous-chaîne reconnue group( [ i ] ) la sous-chaîne reconnue start( [ i ] ) début et fin de la sous-chaîne recon nue end( [ i ] )
· si une condition n’est pas satisfaite, lancer une exception assert condition [ : expression-à-afficher ] · exemples : assert x < XMAX; assert x < XMAX : "x: " + x + " < " + XMAX; · service rendu : -c’est un mécanisme simple et concis -globalementdébrayable
assert , attention · un test requis par la logique du programme ne doit pas être implémenté par un appel de assert -validationd’argumentsdesméthodespubliques,-vérification de l’existence de ressources externes, -etc. · ne pas oublier que assert est débrayable · assert est destiné à chercher les fautes de programmation, non les erreurs à l’exécution (le message de assert ne s’adresse pas à l’utilisateur final)
assert , activation des assertions · à l’exécution, les assertions sont désactivées par défaut · activation lors du lancement ( ea ou enableassertions ) : activation de assert -ea partout -ea: unPaquetage ... dans les classes du paquetage indiqué et ses sous-paquetages -ea:... paquetage sans nom et sous-paquetages -ea: UneClasse la classe indiquée -esa les classes du système · exemple > java esa ea:mesOutilsCraignos... MonAppli
Type enum-touttypeenum est sous-classe de java.lang.Enum -méthodesdeconversionenum ψ String et enum ψ int -EnumMap : table associative à clés dans un type enum -EnumSet : ensemble à éléments dans un type enum PointCard direction; EnumSet possible = EnumSet.of(PointCard.NORD, PointCard.EST, PointCard.SUD); ... possible.add(direction);... if (possible.contains(direction)) { ... }