(参数)->{一些重写方法的代码}
public class DemoLambda01 {
public static void main(String[] args) {
new Thread(){
@Override
public void run() {
System.out.println(Thread.currentThread().getName());
}
}.start();
new Thread(
()->{
System.out.println(Thread.currentThread().getName());
}
).start();
}
}
public interface Cooker {
public abstract void cook();
}
public class DemoLambda02 {
public static void main(String[] args) {
cookfood(()->{
System.out.println("吃饭");
});
}
public static void cookfood(Cooker c){
c.cook();
}
}
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
public class Demo03 {
public static void main(String[] args) {
Person[] array = {
new Person("张三",22),
new Person("李四",14),
new Person("王五",35)
};
Arrays.sort(array, new Comparator<Person>() {
@Override
public int compare(Person person, Person t1) {
return person.getAge()-t1.getAge();
}
});
for (Person p:array){
System.out.println(p);
}
}
}
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
public class Demo03 {
public static void main(String[] args) {
Person[] array = {
new Person("张三",22),
new Person("李四",14),
new Person("王五",35)
};
Arrays.sort(array,(Person person, Person t1)->{
return person.getAge()-t1.getAge();});
for (Person p:array){
System.out.println(p);
}
}
}
- 练习:
public interface Calculator {
public abstract int calc(int a,int b);
}
public class Demo01 {
public static void main(String[] args) {
add((int a,int b)->{
return a+b;
},22,34);
}
public static void add(Calculator c,int a,int b){
int sum = c.calc(a,b);
System.out.println(sum);
}
}