Das Konzept der Behauptung
Behauptungen werden verwendet, um die Annahmen von Programmen zu beweisen und zu testen, z. B. "Der Wert hier ist größer als 5".
Behauptungen können zur Laufzeit vollständig aus dem Code entfernt werden, sodass sie keinen Einfluss auf die laufende Geschwindigkeit des Codes haben.
Verwendung von Behauptungen
Es gibt zwei Möglichkeiten zu behaupten:
Einer ist Assert << Bolean Expression >>;
Der andere ist Assert << Bolean Expression >>: << Detail Beschreibung >>.
Wenn der Wert des booleschen Ausdrucks falsch ist, wird eine AsSerTionRror -Ausnahme ausgeworfen.
öffentliche Klasse AssertExample {public static void main (String [] args) {int x = 10; / * Ignorieren */}} System.out.println ("Testen Sie die Behauptung, dass x == 10"); ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: : ::::::::::::::::::::::3
Da ein neues Schlüsselwort eingeführt wird, müssen während der Kompilierung zusätzliche Parameter hinzugefügt werden. Code:
Javac -Source 1.4 AssertExample.java
Das obige Programm muss zusätzliche Parameter verwenden (und ein numerischer Befehlszeilenparameter ist erforderlich), wenn beispielsweise die Auftriebsfunktion ausgeführt wird:
Java -a -EEA AssertExample 1
Die Ausgabe des Programms ist:
Testen Sie die Behauptung, dass x == 10Exception in Thread "Haupt" java.lang.assertionError: Unsere Behauptung fehlgeschlagene AssertExample.main (AssertExample.Java:20)
Da der Eingangsparameter nicht gleich 10 ist, bewirkt die Behauptungsfunktion, dass das Programm beim Ausführen einen Behauptungsfehler wirft. Behauptet, dass der Boolesche Wert verwendet wird, wenn sein Wert nicht wahr ist, wird ein AsSerTionerror geworfen und das Programm beendet.
Behauptung der empfohlenen Nutzung
Wird verwendet, um die interne Logik in Methoden zu überprüfen, einschließlich:
Hinweis: Es wird nicht empfohlen, Voraussetzungen innerhalb öffentlicher Methoden zu überprüfen.
Laufzeit blockieren Behauptungen
Um die Behauptungen während der Laufzeit zu blockieren, können Sie die folgende Methode verwenden:
So können Sie die folgende Methode verwenden:
Java EnableasSSerions oder Java EA -Klasse Name