Java Autoboxing ermöglicht es, Karten auf Long, Integer, Double
zu erstellen und sie dann mit primitiven Werten zu betreiben. Zum Beispiel:
java.util.HashMap<String, Integer> map = new java.util.HashMap<String, Integer>();
map.put("one", 1); // 1 is an integer, not an instance of Integer
Wenn Sie in einer Karte verschiedene primitive Typen speichern möchten, können Sie es durch einen Map<String, Number>
machen. Ermöglicht zum Speichern von Werten von BigDecimal
, BigInteger
, Byte
, Double
, Float
, Integer
, Long
, Short
(und AtomicLong
, AtomicInteger
). Hier
ein Beispiel:
Map<String, Number> map = new HashMap<String, Number>();
map.put("one", 1);
map.put("two", 2.0);
map.put("three", 1L);
for(String k:map.keySet()) {
Number v = map.get(k);
System.err.println(v + " is instance of " + v.getClass().getName() + ": " + v);
}
Es war meine Schuld für Unklarheiten. Was ich sage Ich möchte den Wert auf einen primitiven Typ beschränken Ich meine, dass ich zulassen soll, dass einer der primitiven Typen als Wert in dieser spezifischen Map verwendet wird. – Prospero