람다 표현식이란 무엇인가요?
람다 식은 나중에 한 번 이상 실행할 수 있는 전이적 코드 블록입니다.
추천 Java 관련 동영상 튜토리얼: java 학습 동영상
예:
class action implements ActionListener{ @Override public void actionPerformed(ActionEvent e){ System.out.println("now time is"+new Date()); Toolkit.getDefaultToolkit().beep(); } } public class Main{ public static void main(String[] args){ action a=new action(); Timer timer=new Timer(2000,a); timer.start(); JOptionPane.showMessageDialog(null, "is quit?"); //这个窗口用于防止main线程执行完毕直接结束 } }
The action class in this code 객체는 실제로 코드 세그먼트로 Timer 생성자에 전달됩니다. Java는 객체 지향 사고를 기반으로 하는 언어이므로 함수 호출이 없고 코드 세그먼트가 전달되지 않으므로 필요한 코드를 캡슐화해야 합니다. class. , 위는 액션 클래스입니다. 람다 표현식을 사용하면 코드를 더욱 간결하게 만들 수 있습니다.
위 내용을 람다로 표현하면 다음과 같습니다.
public class Main{ public static void main(String[] args){ Timer timer=new Timer(2000,(ActionEvent e)->{ System.out.println("now the time is"+new Date()); Toolkit.getDefaultToolkit().beep(); }); timer.start(); //结束 } }
람다 표현식을 사용하면 코드가 매우 간결해질 수 있나요? 다음을 통해 e의 유형을 추론할 수 있다면, yes 매개변수 유형을 생략합니다. 매개변수가 하나만 있는 경우 다음과 같이 괄호를 생략할 수도 있습니다.
e->{ System.out.println(“now the time is”+new Date()); Toolkit.getDefaultToolkit().beep(); }
이 람다 표현식은 다음과 동일할 수 있습니다.
ActionListener al=e->{ System.out.println(“now the time is”+new Date()); Toolkit.getDefaultToolkit().beep(); }
public class Main{ public static void main(String[] args){ String[] con=new String[]{"apple","cat","bannane","foot","do"}; Arrays.sort(con,(str1,str2)->str1.length()-str2.length()); //第一种实现 这儿因为直接返回值所以没有加"{"和"}"所以也不用加";" 上下文能推断出这是String类型参数, //所以不用加参数类型 Comparator<String> compare = (str1,str2)->s1.length()-s2.length(); Arrays.sort(con,compare);//第二种实现,还可以采用写一个类实现Comparator中的compare方法 //如: com com1=new com(); Arrays.sort(con.com1);//其本质都是传递一段代码 } class com implements Compartor<String>{ @Override public void compare(String str1,String str2){ return str1.length()-str2.length(); } } }
java빠른 시작 컬럼에서 제공하는 내용을 소개합니다. java 자세히보기 람다식, 모두 함께 배워보세요!
위 내용은 Java의 람다 표현식에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!