java Lambda表达式简化之省略参数类型

2020-06-15 作者:提刀少年

display方法中的Lambda表达式能推断出参数a是int类型,s是String类型,简化形式如下:

  1. public class LamPara {
  2. @Test
  3. public void test() {
  4. int p1 =100;
  5. String p2 = " a = ";
  6. /**
  7. * 不省略参数类型
  8. */
  9. display((int a,String s)->{
  10. return String.valueOf(a)+s;
  11. }, p1, p2);
  12. /**
  13. * 省略参数类型
  14. */
  15. display((a,s)->{
  16. return String.valueOf(a)+s;
  17. }, p1, p2);
  18. }
  19. /**
  20. *
  21. * @param c Lambda表达式
  22. * @param a
  23. * @param b
  24. */
  25. public void display(Param p ,int a, String s){
  26. System.out.println(p.concat(a, s));
  27. }
  28. /**
  29. * 函数式接口
  30. * @author busifox
  31. *
  32. */
  33. public interface Param {
  34. String concat(int a, String s);
  35. }
  36. }