How can I auto box this class?

Total Post:29

Points:203
Java 
 1185  View(s)
Ratings:
Rate this:

I've the following class:


public class IntegerKey extends Number implements Comparable<IntegerKey> {

    private Integer m_key;
    public IntegerKey(Integer key) {
        m_key = key;
    }
    public IntegerKey(int key) {
        m_key = key;
    }
}


I would like to use this class as Follow:

assume I have the following generics:

Map<IntegerKey, MyCache> map = new HashMap<IntegerKey, MyCache>();

map.put(5, new MyCache());


This doesn't compile, why?? I don't want to do:

map.put(new IntegerKey(5), new MyCache());

Thank you!

  1. Post:24

    Points:168
    Re: How can I auto box this class?

    Autoboxing only works for the primitives types and their respective counter parts in java.lang. In your example you could try dropping IntegerKey altogether and simply use Integer.        

      Modified On Mar-31-2018 05:31:25 AM

Answer