Machine-translated by Google. Questions are authored in English.
Top

Discussion

The program is run with java -ea Sketch11 - what will be the output?

public class Sketch11
{
    public static void main(String[] args)
    {
        StringBuilder sb = new StringBuilder("ab");
        assert sb.length() == 3 : sb;
        System.out.println(sb);
    }
}

  • A.Compilation fails.
  • B.The program prints ab
  • C.An AssertionError whose detail message is ab.
  • D.An AssertionError whose detail message is the length, 2.

Answer: C

The assertion fails because the length is 2, not 3. Expression2 is sb, so the AssertionError constructor receives the StringBuilder and calls its toString, giving the message ab. Note the message is the object's text, not the length that was tested.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.