Вопрос возник при решении задания 1514 (см. ниже). В цикле необходимо произвести приведение типа int до double. Без этого не произойдет неявное обертывание в Double. Вопрос: почему программа по умолчанию не приводит целочисленное до вещественного и уже потом оборачивает. Ведь это не перечит основной логике приведения типов. Или Машина спотыкается при приведении примитива к объекту?
import java.util.HashMap;
import java.util.Map;
public class Solution {
    public static Map<Double, String> labels = new HashMap<Double, String>();
    public static void main(String[] args) {
        System.out.println(labels); }
    static {
        for (int i = 0; i < 5; i++) {
            labels.put((double)i, "Duck" + i);
}}}