1. ホーム
  2. java

アンドロイドでアサートの使い方を教えてください。

2023-08-21 23:38:32

質問

私は assert obj != null : "object cannot be null" をAndroid端末で使いたいのですが アサートがうまくいかないようなので、ネットで検索したところ、このローカルソリューションが見つかりました。

adb シェル setprop debug.assert 1

は私のローカルマシンでは動作します。

私のEclipseプロジェクトを使用してこのコマンドを実行したいです(それでそれはソースコントロールにあるでしょう)。 どのように私はそれを行うことができますか?

どのように解決するのですか?

Android では Assert は機能しません。なぜなら、ほとんどの場合、人はデバッグ モードで実行しているのではなく、最適化されたコードで実行しているからです。したがって、適切な解決策は、次のようなコードで、手動で例外をスローすることです。

if (obj==null) throw new AssertionError("Object cannot be null");

設計上、Assertはデバッグコード用であり、リリース時のコード用ではないことに注意する必要があります。ですから、これはAssertを投げるのに最適な使い方ではないかもしれません。しかし、これはまだあなたがそれを行うことができる方法ですので、...