//Java 9 and above only @SuppressWarnings("unchecked")static<T>TgetParm(Map<String,Object> map,String key,T defaultValue){return(map.containsKey(key))?(T) map.get(key): defaultValue;}voidfoo(Map<String,Object> parameters){String a =getParm(parameters,"a","");int b =getParm(parameters,"b",0);// d = ...}foo(Map.of("a","a","b",2,"d","value"));
voidfoo(Map<String,Object> parameters){String a ="";Integer b =0;if(parameters.containsKey("a")){if(!(parameters.get("a")instanceofInteger)){thrownewIllegalArgumentException("...");}
a =(Integer)parameters.get("a");}if(parameters.containsKey("b")){//... }//...}foo(ImmutableMap.<String,Object>of("a","a","b",2,"d","value"));
@SuppressWarnings("unchecked")static<T>TgetParm(Map<String,Object> map,String key,T defaultValue){return(map.containsKey(key))?(T) map.get(key): defaultValue;}voidfoo(Map<String,Object> parameters){String a =getParm(parameters,"a","");int b =getParm(parameters,"b",0);// d = ...}foo(Map.of("a","a","b",2,"d","value"));