I have a Map<String, Object>
which I call myMap, and I want to iterate through each key and ensure that its value is either of type String
, int
& Boolean
.
I’ve tried something along these lines:
myMap.entrySet().forEach(key -> myMap.get(key));
I don’t know how to do the actual check…
>Solution :
You can check all of myMap.values()
with Stream#allMatch
.
boolean pass = myMap.values().stream().allMatch(o -> o instanceof String ||
o instanceof Integer || o instanceof Boolean);
Note that it is impossible for the value to be of type int
; it can only be the wrapper class Integer
.