2

たとえば、変数を使用できますか

int x;

そして、ループの反復ごとに値をチェックするメソッドを作成する必要なしに、コンパイラxが20より大きくなったり-20より小さくなったりすることは決してないことを伝えますか?(ここで、これはベクトルベースのゲームの速度変数用です。

4

3 に答える 3

7

セッターメソッドを介してのみ変数を設定します。このメソッド内で、値を範囲外に設定しようとした場合に例外をスローします。これはコンパイラ側では機能しないことに注意してください。実行時に、この種のチェックが必要であると私は信じています。

于 2012-10-31T16:58:37.803 に答える
5

いいえ、プログラムで手動でチェックする必要があります

于 2012-10-31T16:51:29.573 に答える
1
assert  -20 < x && x < 20 : "Out of range!";

-ea引数を指定して実行すると、javaは条件をチェックしますが、-eaを指定しないとパフォーマンスが最高になります。

アサーションが検証されない場合、java.lang.AssertionErrorがスローされます

于 2012-10-31T16:53:26.050 に答える