package unit6Test;
import java.util.Arrays;
import java.util.Date;
import javax.swing.JOptionPane;
import javax.swing.Timer;
public class LambdaTest {
public static void main(String[] args) {
// 构建一个字符串数组
var planets=new String[] {"Mercury","Venus","Earth","Mars","Jupiter","Saturn","Uranus","Neptune"};
//使用toString方法输出数组
System.out.println(Arrays.toString(planets));
System.out.println("Sorted in dictionary order:");
//默认的字符串数组排序方法是按照字典的顺序排序
Arrays.sort(planets);
//把排序后的字符串数组输出
System.out.println(Arrays.toString(planets));
System.out.println("Sorted by length:");
//Arrays.sort方法的第二种版本:有一个数组和比较器作为参数,比较器是实现了comparator接口的类(String)的实例
//如果可以推导出一个lambda表达式的参数类型,则可以忽略其类型
//这里省略了Comparator<String> comp=
//(first,second)->first.length()-second.length()这一句代替了String类的接口Comparator下的compare方法里的语句
Arrays.sort(planets,(first,second)->first.length()-second.length());
//把排序后的字符串数组输出
System.out.println(Arrays.toString(planets));
//创建一个计时器对象,
//传入计时器激活时间和监听器作为参数,监听器是实现了ActionListener接口的类(timeprinter)的实例
//这里省略了ActionListener listener=
var timer=new Timer(1000,event->System.out.println("The time is"+new Date()));
timer.start();
JOptionPane.showMessageDialog(null, "Quit program?");
System.exit(0);
}
}
java核心技术 卷1 比较器和动作监听器使用Lambda表达式案例
最新推荐文章于 2024-09-14 18:46:05 发布