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

Discussion

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

public class Probe98
{
    public static void main(String[] args)
    {
        StringBuilder sb = new StringBuilder("level");
        assert sb.reverse().toString().equals("level");
        System.out.println(sb);
    }
}

  • A.An AssertionError is thrown.
  • B.The program prints level
  • C.The program prints levellevel
  • D.Compilation fails.

Answer: B

level is a palindrome, so reversing it gives the same text and the assertion passes. The catch is that reverse mutates the builder in place rather than returning a copy, so this assertion has a side effect: with assertions disabled sb would never be reversed. Here the printed value is level either way.

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

Post your comment

Please log in or register to post a comment.