Java函数-如何使用Lambda表达式?
Lambda表达式是Java 8中的一个新功能,它是一种更加简洁和方便的写法,可以用很少的代码实现复杂的操作。Lambda表达式常用于函数式接口中,可以作为参数传递给方法或返回值,进一步简化代码。
Lambda表达式的语法如下:
(parameter1, parameter2, parameterN) -> { code }
其中,参数可以有零个或多个,用逗号分隔,如果只有一个参数,可以省略括号;箭头“->”将参数和代码分开,代码块可以有一个或多个语句。如果代码块只有一行语句,可以省略花括号。
下面是几个Lambda表达式的例子:
1. 使用Lambda表达式遍历List:
List<String> list = Arrays.asList("apple", "banana", "cherry");
list.forEach((String s) -> System.out.println(s));
2. 使用Lambda表达式实现接口:
interface MyInterface {
void doSomething(String s);
}
MyInterface mi = (String s) -> System.out.println(s);
mi.doSomething("hello");
3. 使用Lambda表达式作为排序依据:
List<Person> list = Arrays.asList(new Person("Alice", 20), new Person("Bob", 30), new Person("Charlie", 25));
Collections.sort(list, (Person p1, Person p2) -> p1.getName().compareTo(p2.getName()));
4. 使用Lambda表达式作为线程运行代码:
new Thread(() -> {
System.out.println("thread is running");
}).start();
Lambda表达式的优点是可以让代码更加简洁,读起来更加自然;缺点是可能会让代码可读性降低,不易理解。在使用Lambda表达式时,需要谨慎考虑代码的可读性和维护性。
