Which line is an inappropriate use of an assertion?
public class Sample21
{
public Sample21(String name)
{
assert name != null : "name required";
this.name = name;
}
private final String name;
}
Answer: A
The constructor is public, so rejecting a null name is part of the contract callers rely on and has to hold with assertions disabled. As written, a null slips through in production and surfaces much later as a NullPointerException far from its cause. A public constructor validates with an explicit throw.
Please log in or register to report this question.