public Class Test{
HashMap<String, HashMap<String, String>> GlobalMap = new HashMap();
private String X;
public static void main(String[] args){
Test t1 = new Test();
t1.read(someTreeObject);
}
@Override
public Void method1(someCtx) {
String A = "some value";
String B = "some other value";
Map Map1 = new HashMap();
Map1.put(A,B);
System.out.println("Local Map : "+Map1.entrySet);
GlobalMap.put(X, (HashMap<String, String>)GlobalMap.get(X).putAll(Map1)); //<<<Compile time error details with the indicator pointing at Map1 within this line: error: incompatible types: void cannot be converted to HashMap<String,String>
// GlobalMap.put(X, (HashMap<String, String>)GlobalMap.get(X).put(new HashMap(A,B))); //<<<<<<<<<This is another approach, when tried gives a compile time error with the indicator pointing at A within this line: error: incompatible types: String cannot be converted to int
System.out.println("Global Map Details : \n"+GlobalMap.entrySet()+"\n");
}
return super.SomeMethod(someCtx);
}
Method1 ist eine überschriebene Methode, die ursprünglich von einer abstrakten Schnittstelle verwendet werden kann. Ich weiß, dass es nichts gibt, was ich an die Hauptmethode senden möchte.Parametrisierte HashMaps: Fehler bei der Kompilierung: inkompatible Typen
Warum werden die putAll- und put-Methoden zu unterschiedlichen Fehlermeldungen führen? Was fehlt mir hier wirklich?
Ich bin neu in Programmierung und Java und versuche wirklich, erweiterte HashMaps zu erstellen. Ich habe bei der Verwendung der generischen HashMap-Konstruktionen in meiner früheren Erfahrung nichts Ähnliches gefunden.
Ja, [putAll] (https://docs.oracle.com/javase/7/docs/api/java/util/HashMap.html#putAll (java.util.Map)) gibt void zurück –