首页 > 代码库 > java中的方法引用
java中的方法引用
引用静态方法:类名称::static 方法名称;
引用某个对象的方法:对象::普通方法;
引用特定类方法:特定类::方法
引用构造方法:类名称::new
范例:引用静态方法
package com.java.demo; interface IMessage<P,R>{ // P表示方法的参数类型,R表示方法的返回值类型 public R change(P p); } public class TestDemo{ public static void main(String args[]){ /** * 将基本数据类型转换成String类型:public static String valueOf(); * 下面语句表示,将String类中改的valueOf()方法传递给change()方法 */ IMessage<Integer,String> msg = String :: valueOf; String str = msg.change(100); System.out.println(str.replaceAll("0","6")); } }
引用某个对象的方法
@FunctionalInterface //此处为函数式接口,只允许接口定义一个方法
package com.java.demo;
@FunctionalInterface //此处为函数式接口,只可以定义一个方法 interface IMessage<R>{ // P表示方法的参数类型,R表示方法的返回值类型 public R change(); } public class TestDemo{ public static void main(String args[]){ /** *String类的转大写方法:public String toUpperCase(); *""hello"为String类的匿名对象,传递该普通方法 */ IMessage<String> msg = "hello" :: toUpperCase; String str = msg.change(); System.out.println(str);//HELLO } }
引用特定类
package com.java.demo; interface IMessage<R>{ // P表示方法的参数类型,R表示方法的返回值类型 public R change(String str1,String str2); } public class TestDemo{ public static void main(String args[]){ /** *String类的转大写方法:public int compareTo(); 字符串比较,相等返回 0,小于返回<0;大约返回数字>0 *srt1.compareTo(str2); */ IMessage<Integer> msg = String :: compareTo; System.out.println(msg.change("java", "java"));//0 } }
引用构造方法
package com.java.demo; interface IMessage<R>{ // P表示方法的参数类型,R表示方法的返回值类型 public R change(String title); } class Book{ private String title; public Book(String title){ this.title = title; } @Override public String toString() { return "书名:" +this.title; } } public class TestDemo{ public static void main(String args[]){ IMessage<Book> msg =Book :: new; //msg.change("java开发")返回的是Book类对象 System.out.println(msg.change("java开发")); } }
内建函数式接口:
功能型接口:public Interface Function<T,R> ,定义的方法:public R appy(T t);接受参数也返回一个处理结果
消费型接口:public Interface Customer<T> ,定义方法 public void appy(T t);只接受参数不返回处理结果
供给型接口:public Interface Supper<T> 定义反方法 :public T get();不接受参数只返回处理结果
断言型接口:public Interface Predicate<T> 定义方法 public boolean test<T t> 接受参数返回boolean值
package com.java.demo; import java.util.function.Function; public class TestDemo{ public static void main(String args[]){ Function<String,Boolean> fun ="hello" :: equals; System.out.println(fun.apply("hello")); } }
java中的方法引用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。