Wie wird hier auf den generischen Typ geschlossen?

public static void main(String[] args) {
    Map<String, Map<Long, List<String>>> map = getHashMap();
}

static <K,V> Map<K,V> getHashMap()
{
    return new HashMap<K, V>();
}

Ich habe einen ähnlichen Code in Google Guava (als Factory-Methode) zum Erstellen von Instanzen von Hashmap ohne Erwähnung der generischen Typen gesehen. Ich verstehe nicht, wie das generische vom obigen Programm abgeleitet wird. Ich meine, wie die Funktion getHashMap das verstehen kann Kartentyp, da ich der Funktion keine Typinformationen übergebe.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage