Java基础--JDK1.8新特性-Lamda
2016-11-14 17:18
555 查看
Java基础--JDK1.8新特性-Lamda
接口:
实现:
接口:
package com.test; @FunctionalInterface //不允许定义其他抽象方法 public interface ILamdaDemo { //java--属性(常量)和方法(抽象方法和默认方法,静态方法) public static final int a = 100; //抽象方法 public Integer sum(int a,int b); // public void sayHello(); //会报错,只会允许一个抽象方法 //匿名内部类可以调用接口的静态方法和默认方法,Lamda调用不到 //静态方法,可以定义多个 static void sayHi(){ System.out.println("我是接口的静态方法!"); }; //默认方法.可以定义多个 default void test(){ System.out.println("我是接口的默认方法!"); }; }
实现:
package com.test; import java.util.Arrays; import java.util.Comparator; public class LamdaDemo { /** * Lamda表达式的主要作用是替代匿名内部类的繁琐写法,又三部分组成。 * 1、形参列表--行参列表允许省略形参类型,如只有一个形参,可以省略括号 * 2、箭头(->) * 3、代码块 */ public static void main(String[] args) { Integer[] nums = {3,4,6,1,2,8,10}; // Arrays.sort(nums);//从小到大排序 // Arrays.sort(nums,new Comparator<Integer>() { // @Override // public int compare(Integer o1, Integer o2) { // return o2-o1; // } // });; //从大到小排序 Arrays.sort(nums,(a,b)->b-a); //a-b 从小到大排序,b-a //从大到小排序 // for (Integer integer : nums) { // System.out.println(integer); // } //内部类实现方式 ILamdaDemo iLamdaDemo = new ILamdaDemo() { @Override public Integer sum(int a, int b) { return a+b; } }; Integer x = iLamdaDemo.sum(10, 2); //Lamda表达式 简写方式 ILamdaDemo iLamdaDemo2 = (a,b)->a+b; ILamdaDemo iLamdaDemo2 = (a,b)->{ return a+b; }; Integer x1 = iLamdaDemo2.sum(1, 2); System.out.println(x1); } }
相关文章推荐
- Java还要再学一遍基础(四)JDK1.8新特性default,static
- java 基础 JDK各个版本的新特性1.5---1.8
- JAVA基础【1.5】《Java核心技术1》Java程序设计概述-Java JDK1.8新特性【收集】
- java基础总结大全jdk1.5的新特性
- java基础——枚举(jdk1.5的新特性)
- day02_java基础加强(jdk新特性 javaa设计模式 反射)
- Java JDK1.8新特性
- 黑马程序员_Java基础加强之JDK1.5的新特性
- <黑马程序员>java基础加强--JDK 5.0 新特性
- Java基础---枚举及部分JDK1.5新特性 (黑马程序员)
- java基础之jdk1.5的几个新特性及若干类的使用
- java基础学习_JDK新特性_day28总结
- Java JDK1.8新特性
- java基础提高篇--集合源码分析--jdk1.8 ArrayList源码
- 【Java没基础】JDK1.8 中的 Lambda 表达式与 Stream API
- java jdk 1.8 新增特性->( lambda特性)
- JAVA基础笔记(九)1.8新特性
- JAVA基础之HashMap源码(JDK 1.8)
- Java JDK1.8新特性
- 杰神之Java接口JDK1.8新特性