Java 中的箭头运算符 |
您所在的位置:网站首页 › java中方法的作用是 › Java 中的箭头运算符 |
Java 中箭头运算符的使用
Java 集合中的箭头运算符
Java 线程中的箭头运算符
本教程介绍了箭头运算符 (->) 在 Java 中的作用,并列出了一些示例代码来理解该主题。 在 Java 8 中,增加了一个新特性 lambda 表达式,同时在 Java 中出现了箭头运算符,用于形成 lambda 表达式。它将参数与表达式主体分开。 (parameters) -> { statements; } // Lambda expression having arrowLambda 表达式是在 Java 8 中引入的,可以用来代替 Java 中的匿名类,使代码更加简洁和可读。 下面是我们如何在 Java 8 之前的 Java 中创建匿名类的示例。 Runnable r = new Runnable() { @Override public void run() { System.out.print("Run method"); } };这就是我们如何在 Java 8 中使用 lambda 表达式来实现上述任务。 Runnable r = () -> System.out.print("Run method");让我们从一些示例开始,以了解 lambda 和箭头运算符的使用。 Java 中箭头运算符的使用在此示例中,我们使用箭头运算符创建了一个 lambda 表达式,该表达式实现了 Drawable 接口的 draw() 方法。请参考下面的示例。 interface Drawable { public void draw(); } public class Main { public static void main(String[] args) { int width = 20; // arrow operator Drawable d2 = () -> { System.out.println("Drawing width: " + width); }; d2.draw(); } }输出: Drawing width: 20由于 lambda 表达式是使用函数式方法创建简洁代码的一种超级方式,因此我们可以在 Java 代码中以多种方式使用它。让我们看一些我们可以应用它的例子。 Java 集合中的箭头运算符在此示例中,我们使用 lambda 表达式过滤 ArrayList 数据。我们使用了流 API 和 filter() 方法来获得所需的结果。你会注意到,使用 lambda 创建代码比使用非 lambda 代码更容易。请参考下面的示例。 package javaexample; import java.util.ArrayList; import java.util.List; import java.util.stream.Stream; class Product { int id; String name; float price; public Product(int id, String name, float price) { this.id = id; this.name = name; this.price = price; } } public class Main { public static void main(String[] args) { List list = new ArrayList(); list.add(new Product(1, "Samsung S5", 17000)); list.add(new Product(3, "Iphone 12", 100500)); list.add(new Product(2, "Sony Xperia", 25000)); // using arrow to filter data Stream filtered_data = list.stream().filter(p -> p.price > 17000); filtered_data.forEach(product -> System.out.println(product.name + ": " + product.price)); } }输出: Iphone 12: 100500.0 Sony Xperia: 25000.0 Java 线程中的箭头运算符这是 lambda 表达式的另一种用法,我们用它来实现可运行接口的 run() 方法。由于 Runnable 是单个方法接口,因此很容易使用 lambda 表达式。请参考下面的示例。 package javaexample; import java.util.ArrayList; import java.util.List; import java.util.stream.Stream; public class Main { public static void main(String[] args) { // using arrow Runnable r = () -> { System.out.println("Thread is running..."); }; Thread t2 = new Thread(r); t2.start(); } }输出: Thread is running... |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |