Advertisement
Guest User

Untitled

a guest
Jan 24th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.07 KB | None | 0 0
  1. public static void Log(String format, Object ... args) {
  2. final Object[] fmt = new Object[ args.length ];
  3. for(int i = 0; i < args.length; i++)
  4. fmt[i] = args[i] instanceof Supplier ?
  5. ( (Supplier) args[i] ).get() :
  6. args[i];
  7. final String s = String.format( format, fmt );
  8. System.err.println( s );
  9. }
  10.  
  11. final Supplier
  12. s = () -> "aaa",
  13. d = () -> 111;
  14. Log( "%s %d %s %d", "bbb", 222, s, d ); // OK, OUTPUT: bbb 222 aaa 111
  15. Log( "%s %d %s %d", "bbb", 222, () -> "aaa", () -> 111 ); // COMPILE FAIL
  16.  
  17. Log( "%s %d %s %d", "bbb", 222, (Supplier) () -> "aaa", (Supplier) () -> 111 );
  18.  
  19. Log( "%s %d %s %d", "bbb", 222, (Callable) () -> "aaa", (Callable) () -> 111 );
  20.  
  21. Log( "%s %d %s %d", "bbb", 222, ((Supplier<String>)() -> "aaa"), ((Suplier<Integer>)() -> 111) );
  22.  
  23. Log( "%s %d %s %d", "bbb", 222, new Supplier<String>() {
  24. @Override
  25. public String get() {
  26. return "aaa";
  27. }
  28. });
  29.  
  30. Log( "%s %d %s %d", "bbb", 222, (Supplier<String>) () -> "aaa");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement