Auf Thema antworten

Man sollte die API schon kennen. Map.put gibt den Wert zurück, der vorher unter dem übergebenen Key gespeichert war. Das führt logischerweiße bei einer leeren Map zu einer NPE und wenn sie nicht leer wäre würde eine ClassCastException fliegen, weil der zurückgegebene Wert eben nicht die Map selbst ist.


Eine statische Initialisierung von Collections gibt es in Java leider noch nicht, deswegen ist die einfachste Möglichkeit, die mir dazu einfällt, ein inline Konstruktor:


[code=Java]public interface myLib extends Library

{

    static final myLib INSTANCE=(myLib)Native.loadLibrary("mylib", myLib.class, new HashMap(){{

        put(Library.OPTION_FUNCTION_MAPPER, StdCallLibrary.FUNCTION_MAPPER);

    }});

 

    String get_ComputerName();

}[/code]


@Flown du hast keine Ahnung von JNA, oder?



Oben