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

Discussion

Which line contains the error?

import java.util.*;

public class Sample45
{
    public static void main(String[] args)
    {
        Map<String, Integer> m = new HashMap<String, Integer>();
        m.put("a", 1);
        assert m.get("b") == 1 : "missing key";
        System.out.println(m.size());
    }
}

  • A.assert m.get("b") == 1 : "missing key";
  • B.m.put("a", 1);
  • C.System.out.println(m.size());
  • D.Nothing here is wrong.

Answer: A

get returns null for an absent key, and comparing a null Integer against the int 1 unboxes it, throwing NullPointerException rather than evaluating to false. The assertion cannot even report its message. Check containsKey first, or compare against Integer.valueOf(1) with equals.

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

Post your comment

Please log in or register to post a comment.