試験1z1-830 トピック1 問題35 スレッド
Oracle 1z1-830のリアル試験問題集
問題 #: 35
トピック #: 1
問題 #: 35
トピック #: 1
Given:
java
void verifyNotNull(Object input) {
boolean enabled = false;
assert enabled = true;
assert enabled;
System.out.println(input.toString());
assert input != null;
}
When does the given method throw a NullPointerException?
java
void verifyNotNull(Object input) {
boolean enabled = false;
assert enabled = true;
assert enabled;
System.out.println(input.toString());
assert input != null;
}
When does the given method throw a NullPointerException?
おすすめの解答:C 解答を投票する
In the verifyNotNull method, the following operations are performed:
* Assertion to Enable Assertions:
java
boolean enabled = false;
assert enabled = true;
assert enabled;
* The variable enabled is initially set to false.
* The first assertion assert enabled = true; assigns true to enabled if assertions are enabled. If assertions are disabled, this assignment does not occur.
* The second assertion assert enabled; checks if enabled is true. If assertions are enabled and the previous assignment occurred, this assertion passes. If assertions are disabled, this assertion is ignored.
* Dereferencing the input Object:
java
System.out.println(input.toString());
* This line attempts to call the toString() method on the input object. If input is null, this will throw a NullPointerException.
* Assertion to Check input for null:
java
assert input != null;
* This assertion checks that input is not null. If input is null and assertions are enabled, this assertion will fail, throwing an AssertionError. If assertions are disabled, this assertion is ignored.
Analysis:
* If Assertions Are Enabled:
* The enabled variable is set to true by the first assertion, and the second assertion passes.
* If input is null, calling input.toString() will throw a NullPointerException before the final assertion is reached.
* If input is not null, input.toString() executes without issue, and the final assertion assert input != null; passes.
* If Assertions Are Disabled:
* The enabled variable remains false, but the assertions are ignored, so this has no effect.
* If input is null, calling input.toString() will throw a NullPointerException.
* If input is not null, input.toString() executes without issue.
Conclusion:
A NullPointerException is thrown if input is null, regardless of whether assertions are enabled or disabled.
Therefore, the correct answer is:
C: Only if assertions are disabled and the input argument is null
* Assertion to Enable Assertions:
java
boolean enabled = false;
assert enabled = true;
assert enabled;
* The variable enabled is initially set to false.
* The first assertion assert enabled = true; assigns true to enabled if assertions are enabled. If assertions are disabled, this assignment does not occur.
* The second assertion assert enabled; checks if enabled is true. If assertions are enabled and the previous assignment occurred, this assertion passes. If assertions are disabled, this assertion is ignored.
* Dereferencing the input Object:
java
System.out.println(input.toString());
* This line attempts to call the toString() method on the input object. If input is null, this will throw a NullPointerException.
* Assertion to Check input for null:
java
assert input != null;
* This assertion checks that input is not null. If input is null and assertions are enabled, this assertion will fail, throwing an AssertionError. If assertions are disabled, this assertion is ignored.
Analysis:
* If Assertions Are Enabled:
* The enabled variable is set to true by the first assertion, and the second assertion passes.
* If input is null, calling input.toString() will throw a NullPointerException before the final assertion is reached.
* If input is not null, input.toString() executes without issue, and the final assertion assert input != null; passes.
* If Assertions Are Disabled:
* The enabled variable remains false, but the assertions are ignored, so this has no effect.
* If input is null, calling input.toString() will throw a NullPointerException.
* If input is not null, input.toString() executes without issue.
Conclusion:
A NullPointerException is thrown if input is null, regardless of whether assertions are enabled or disabled.
Therefore, the correct answer is:
C: Only if assertions are disabled and the input argument is null
Kuwatani 2026-08-28 04:27:55
コメント
他人の解答コメントを賛成するのも、その解答に一票を入れることになります。したがって、すでに同じ意見の投票コメントが存在する場合、新規コメントをする代わりに賛成することもできます。
コメントを通報する
コメント中
今すぐ 新規登録 / ログイン (無料です)。