Which line rests on a mistaken assumption?
public class Sample51
{
public static void main(String[] args)
{
Object o = null;
assert o instanceof String : "not a string";
System.out.println("ok");
}
}
Answer: C
instanceof answers false for null rather than throwing, so the assertion fails cleanly with its message and no NullPointerException occurs. That is correct behaviour, but the message is misleading: null is not a String of the wrong kind, it is no object at all. A null check states the real precondition.
Please log in or register to report this question.