企业网站的推广方法有哪些,百度在线识图,网站建设需求网,杭州seo首页优化软件什么是双冒号运算符
双冒号运算符 :: 是在 Java 8 中实现的一个新特性——方法引用。它能使用我们将方法作为一个参考传递到其他的方法中。它能将简化超级长的代码#xff0c;提高代码可读性。
基本格式#xff1a;
ClassName::methodName双冒号运算符不会调用方法#x…什么是双冒号运算符
双冒号运算符 :: 是在 Java 8 中实现的一个新特性——方法引用。它能使用我们将方法作为一个参考传递到其他的方法中。它能将简化超级长的代码提高代码可读性。
基本格式
ClassName::methodName双冒号运算符不会调用方法而是传递方法的地址。它与函数引用和涉及较远。
方法引用的类型
方法引用可以分为下列四种 非静方法引用引用一个实例属于的非静方法。 格式 instance::methodName例如 String::toLowerCase静态方法引用引用一个类中的静态方法。 格式 ClassName::staticMethodName例如 Math::abs构造器引用引用一个类的构造器。 格式 ClassName::new例如 ArrayList::new类属方法引用引用一个元素的方法。 格式 ClassName::instanceMethodName例如 String::compareToIgnoreCase# 应用场景在实际工作中双冒号运算符适合以下情况1. **代替区域编译器表达式**对于一些存在方法我们可以使用方法引用代替。例如
List names Arrays.asList(“John”, “Jane”, “Doe”); names.forEach(System.out::println); 比较优雅
names.forEach(name - System.out.println(name)); 2. **在 Stream 中简化操作**方法引用能让我们在操作流中越发简化。例如
List names Arrays.asList(“john”, “jane”, “doe”); names.stream() .map(String::toUpperCase) .forEach(System.out::println); 3. **构造器引用在实例列表中复制例实**例如
SupplierList listSupplier ArrayList::new; List list listSupplier.get(); 4. **调用本地方法最优化**在扩展和保留系统调用的同时尽量提高优化分析。# 实践例子java
import java.util.Arrays;
import java.util.List;public class StaticMethodReference {public static void print(String str) {System.out.println(str);}public static void main(String[] args) {ListString list Arrays.asList(Hello, World, Java);list.forEach(StaticMethodReference::print);}}