2016-08-05 59 views
-1

konvertieren Ich möchte die getMap mit einem Integer-Wert überladen, aber die Karte gibt nur ein Objekt zurück. Gibt es das überhaupt um zu konvertieren? Oder etwas ähnliches wie C++ Auto Specifier zu haben?Wie Objekt in Int

public class EventMessage<T> { 

    private final Map<EventType, T> messageInput; 

    public EventMessage(EventType type, T t) { 
     messageInput = new HashMap<EventType, T>(); 
     messageInput.put(type, t); 
    } 

    public Map<EventType, T> getMap(){ 
     return messageInput; 
    } 

    public T getMap(EventType type){ 
     return messageInput.get(type); 
    } 
} 
+1

Erstellen Sie 'EventMessage ' in Ihrem Code und verwenden Sie Integer. –

+1

'getMap' gibt ein' T' zurück, wenn Sie 'Integer' zurückgeben wollen, sollten Sie eine 'EventMessage ' instanziieren –

Antwort

0

Standardmäßig enthalten die Karten und alle Sammlungen Objekte in ihnen. Wenn Sie etwas angeben möchten, sollten Sie Generika verwenden. Beispiel für eine Map mit Ganzzahlen sollten Sie schreiben Map<Integer, Integer> map = new HashMap<Integer,Integer>(); Dann speichert die Karte eine Schlüssel-Wert-Menge von Ganzzahlen. Wenn Sie möchten, dass Ihre Map Objekt ist und nur einen Ganzzahl-Typ zurückgibt, sollten Sie das Objekt auf eine Ganzzahl umwandeln.