I’m using JSON.simple to generate JSON output from Java. But every time I call jsonobj.put(“this”, “that”), I see a warning in Eclipse:
Type safety: The method put(Object, Object) belongs to the raw type HashMap. References to generic type HashMap should be parameterized
The clean fix would be if JSONObject were genericized, but since it isn’t, I can’t add any generic type parameters to fix this. I’d like to switch off as few warnings as possible, so adding “@SuppressWarnings(“unchecked”)” to lots of methods is unappealing, but do I have any other option besides putting up with the warnings?
Here’s one option. It’s a bit ugly, but allows you to scope the the suppressed warning to only that individual operation.
Add a function which does the unchecked cast, and suppress warnings on it:
Then you can call it without compiler warnings:
This way, you can be sure that you aren’t suppressing any warnings that you actually want to see.