JAvaでの新しいassert断言方法
Eclipseでアサーション(Assert)をどのように開くかは、2つの方法があります.1.Run->Run Configurations->Argumentsページラベル->VM argumentsテキストボックスにアサーションオープンのフラグを付けます.-enableassertionsまたは-eaでいいです.ここのボックスに直接入力すればいいです.もちろん-daを入力することもできます.これはこの機能を閉じるために使われています.もちろん一般的には、ここを開いています.また、鉄棒の-eaコマンドはユーザー定義のパッケージを開くことですが、システム定義のパッケージを開く必要がある場合は、-esaを入力する必要があります. -eaを入力してから改行し、-esaを入力します.ここにはスペースがありません.入力が終わったらrunをクリックして確認すればいいです.2.myEclipseでWindows->Preferences->Java->Installed JREs->使用中のJDK->Edit->Default VM Argumentsテキストボックスに-ea(本人はこの方法を採用していますが、これも同じです)を入力し、成功したかどうかをテストできます.私たちはmain関数の中で私が皆さんに書いたこの関数public static String isAssertionOk(){boolean ok=false;assert ok=true;return ok?「おめでとうございます.Assert機能はもうオンになりました」「申し訳ありませんが、Assert機能はまだオンになっていません.」+「上の方法をもう一度見てください.ありがとうございます」
?
-------------
-------------
it is true!
null
s=null
null true s=null
null true
, !
boolean true, , assert boolean :" "; , boolean , 。 , , , AssertionError, try...catch ,
assert expression1;
assert expression1:expression2;
expression1 true, , ,expression2 。
expression1 false, , ,expression2 。
, expression1、expression2 ;
public , private 。
, javac -source; Java -ea。
: assert , assert “ assert ”, “ assert , , ”, assert , assert , , !
, assertion , assert 。 assertion, assertion ?
assert , , assert false。 , assertion 。
class Base {
public void baseMethod() {
try {
assert false:"Assertion failed:This is base";// assertion
} catch (Throwable e) {
// TODO: handle exception
Cout.addLine(e.getMessage());
}
System.out.println("Base Method");
}
}
class Exercise extends Base {
public void derivedMethod() {
try {
assert false : "Assertion failed:This is derive";// assertion
} catch (AssertionError e) {
// TODO: handle exception
Cout.addLine(e.getMessage());
}
System.out.println("Derived Method");
}
public static void f() {
try {
assert false : "111";
} catch (AssertionError e) {
// TODO: handle exception
Cout.addLine(e.getMessage());
}
}
public static void main(String[] args) {
Exercise derived=new Exercise();
derived.baseMethod();
derived.derivedMethod();
}
}
:
Assertion failed:This is base
Base Method
Assertion failed:This is derive
Derived Method
!!!
, qq 2553627958