方法引用

方法引用

方法引用实际上只是给方法起了个别名

方法引用的四种形式:

1.引用类中静态方法

类名称 : : 静态方法名称

2.引用某个对象的方法

实例化对象 : : 普通方法

3.引用类中普通方法

类名称 : : 普通方法名

4.引用类中的构造方法

类名称 : : new

// 方法引用 - 与lambda表达式搭配使用
interface IUtil<P,R>{
  R switchPara(P p);
}
interface IUtil1<R>{
  R switchPara();
}
interface IUtil2<R,P>{
  R switchPara(P p1,P p2);
}
interface IUtil3<R,P>{
  R switchPara(P p);
}
class Util{
  private Integer num;
  public Util(Integer num) {
      this.num = num;
  }
  public String toString() {
      return "Util{" +"num=" + num +'}';
  }
}
public class Test {
  public static void main(String[] args){

  //引用类中静态方法valueOf()
  IUtil<Integer,String> util = String :: valueOf;
  System.out.println(util.switchPara(123).startsWith("1"));

  //引用某个对象的方法
  IUtil1<String> util1 = "hello" :: toUpperCase;
  System.out.println(util1.switchPara());

  //引用类中普通方法
  IUtil2<Integer,String> util2 = String :: compareTo;
  System.out.println(util2.switchPara("aa","bb"));

  //引用类中的构造方法
  IUtil3<Util,Integer> util3 = Util::new;
  System.out.println(util3.switchPara(55));
  }
}

输出结果为:
true
HELLO
-1
Util{num=55}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值