fork download
  1. import java.util.HashMap;
  2. import java.util.Map;
  3. import java.util.function.BiConsumer;
  4.  
  5. class Ideone {
  6. public static void main(String[] args) {
  7. Map<String, String> map = new HashMap<>();
  8. add(map, "foo", "bar");
  9. System.out.println(map);
  10.  
  11. GenericRecord<String, String> record = new GenericRecord<>();
  12. add(record, "foo", "bar");
  13. System.out.println(record);
  14. }
  15.  
  16. static <K, V> void add(Map<K, V> map, K key, V value) {
  17. add(map::put, key, value);
  18. }
  19.  
  20. static <K, V> void add(GenericRecord<K, V> record, K key, V value) {
  21. add(record::put, key, value);
  22. }
  23.  
  24. static <K, V> void add(BiConsumer<K, V> consumer, K key, V value) {
  25. consumer.accept(key, value);
  26. }
  27. }
  28.  
  29. class GenericRecord<K, V> {
  30. private final Map<K, V> map = new HashMap<>();
  31.  
  32. void put(K key, V value) {
  33. map.put(key, value);
  34. }
  35.  
  36. @Override
  37. public String toString() {
  38. return "GenericRecord(map = " + map + ")";
  39. }
  40. }
Success #stdin #stdout 0.14s 48160KB
stdin
Standard input is empty
stdout
{foo=bar}
GenericRecord(map = {foo=bar})