Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

การใช้งาน UnaryOperator แบบกำหนดเองใน java


อินเทอร์เฟซ java.util.function.UnaryOperator และสามารถใช้เป็นเป้าหมายการกำหนดสำหรับนิพจน์แลมบ์ดา ซึ่งแสดงถึงการดำเนินการบนตัวถูกดำเนินการเดี่ยวซึ่งผลลัพธ์จะเป็นประเภทเดียวกับอินพุต เราสามารถสร้าง UnaryOperator ของเราเองได้โดยใช้อินเทอร์เฟซนี้

วิธีการreplaceAll() ของอินเทอร์เฟซ List ยอมรับอ็อบเจ็กต์ของ UnaryOperator ที่แสดงถึงการดำเนินการเฉพาะ ดำเนินการตามที่ระบุในองค์ประกอบทั้งหมดของรายการปัจจุบัน และแทนที่ค่าที่มีอยู่ด้วยค่าผลลัพธ์

ในตัวอย่างต่อไปนี้ เรากำลังใช้งานอินเทอร์เฟซ UnaryOperator และสร้างออบเจ็กต์ตัวดำเนินการ unary แบบกำหนดเอง และพยายามส่งผ่านเป็นอาร์กิวเมนต์ไปยังเมธอด replaceAll()

ตัวอย่าง

import java.util.ArrayList;
import java.util.function.UnaryOperator;
class Op implements UnaryOperator<String> {
   public String apply(String str) {
      return str.toUpperCase();
   }
}
public class Test {
   public static void main(String[] args) throws CloneNotSupportedException {
      ArrayList<String> list = new ArrayList<>();
      list.add("Java");
      list.add("JavaScript");
      list.add("CoffeeScript");
      list.add("HBase");
      list.add("OpenNLP");
      System.out.println("Contents of the list: "+list);
      list.replaceAll(new Op());
      System.out.println("Contents of the list after replace operation: \n"+list);
   }
}

ผลลัพธ์

Contents of the list: [Java, JavaScript, CoffeeScript, HBase, OpenNLP]
Contents of the list after replace operation:
[JAVA, JAVASCRIPT, COFFEESCRIPT, HBASE, OPENNLP]