Java 8.0新增特性(方法引用)
2018-03-18 19:15
393 查看
/* * 静态方法引用:类名::静态方法名 */ interface IMessage<P, R> { public R transForm(P p); } public class Demo { public static void main(String[] args) { IMessage<Integer, String> im = String::valueOf; System.out.println(im.transForm(1000)); System.out.println(im.transForm(9999).replaceAll("9", "8")); } }
/* * 对象方法引用:实例对象::普通方法 */ interface IMessage<R> { public R upper(); } public class Demo { public static void main(String[] args) { // 引用的是 public String toUpperCase(); IMessage<String> i = "Good"::toUpperCase; System.out.println(i.upper()); } }
/* * 特定类型访法引用:特定类::普通方法 */ interface IMessage<R> { public int compare(R r1,R r2); } public class Demo { public static void main(String[] args) { // 引用的是 public int compareTo(String anotherString); IMessage<String> i = String ::compareTo; System.out.println(i.compare("A","B")); } }
/* * 构造方法引用:类::new; */ interface IMessage<R> { public R cread(String srt, double num); } class Book { private String title; private double price; public Book(String title, double price) { this.title = title; this.price = price; } @Override public String toString() { return "书名:《"+this.title+"》,价格:"+this.price; } } public class Demo { public static void main(String[] args) { IMessage<Book>im=Book::new; Book book=im.cread("Java", 79.6); System.out.println(book); } }
相关文章推荐
- Java 8新特性:新语法方法引用和Lambda表达式及全新的Stream API
- java8新特性2-方法引用
- 小司机带你用Java8新特性之方法引用
- java8 特性例子 Map 新增方法
- javaSE_8系列博客——Java语言的特性(三)--类和对象(20)--嵌套类(Lambda 表达式--VS--方法引用)
- Java 8新特性:新语法方法引用和Lambda表达式及全新的Stream API
- Java 8 新特性:Lambda 表达式之方法引用(Lambda 表达式补充版)
- JAVA8新特性——方法引用
- JAVA8新特性(三)——方法引用
- 详解Java8特性之方法引用
- java8新特性(方法引用、构造器引用)
- Java8新特性——方法和构造函数引用
- JAVA8新特性——方法引用
- Java8新特性--方法引用
- Java8特性总结(二)Lambda表达式,函数式接口,方法引用
- Java8新特性之三方法引用
- Java8 新特性之三---------方法引用
- JAVA8新特性[第三季]-方法引用与构造器引用
- Java笔记——Java8特性之Lambda、方法引用和Streams
- Android 使用Java8新特性之"方法引用"