アサーションの重要な役割を理解するための実例はありますか?
アサーション(assertキーワードによる)は、Java 1.4で追加されました。 アサーションはコード内の不変性の正しさを検証するために使用されます。 これは、コード内の不変性の正しさを検証するために使用されます。プロダクションコードでは決して起動してはならず、バグやコードパスの誤用を示します。 これらは、java
コマンドの-ea
オプションを使ってランタイムに有効にすることができますが、デフォルトではオンになっていません。
例を挙げます。
public Foo acquireFoo(int id) {
Foo result = null;
if (id > 50) {
result = fooService.read(id);
} else {
result = new Foo(id);
}
assert result != null;
return result;
}
スタッククラスでの実例(Assertion in Java Articlesより)。
public int pop() {
// precondition
assert !isEmpty() : "Stack is empty";
return stack[--num];
}