Изменить объявление на
Map<Integer,Integer> map;
map = new Hashtable<Integer,Integer>();
и это решит вашу проблему.
Также вы можете изменить эту строку
assertTrue(Integer.valueOf(number) == map.get(status));
Сравнение Integer с == не является хорошей практикой. Это работает только изредка. Вы действительно должны использовать equals ().
Я не понимаю, почему автобокс в вашем случае не происходит автоматически, возможно, кто-то, кто лучше знает спецификацию, мог бы дать ответ.
P.S. Еще лучше изменить это на
assertEquals(number, map.get(status));
и это будет работать как положено.
После разъяснений, что это устаревший код, мой совет следующий. Измените свой код на:
Map map;
map = new Hashtable();
... add some stuff to map
Integer number = Integer.valueOf(5);
Integer status = Integer.valueOf(7);
assertEquals(number, map.get(status));
(я бы даже определил временную переменную типа Integer, в которую я положил результат map.get(status)
, но вопрос стиля, делать ли это, хотя это поможет компилятору). Здесь не используются новые функции.
Почему у вас нет проблем с Netbeans? Я предполагаю, что ваша версия JRE (или поставщика) или настройки вашего проекта.