Computer >> Máy Tính >  >> Lập trình >> Java

Triển khai UnaryOperator tùy chỉnh trong java.


Giao diện java.util. Chức năng.UnaryOperator và có thể được sử dụng làm mục tiêu gán cho các biểu thức lambda, nó biểu thị hoạt động trên một toán hạng duy nhất mà kết quả sẽ cùng loại với đầu vào. Chúng ta có thể tạo UnaryOperator của riêng mình bằng cách triển khai giao diện này.

Phương thức ReplaceAll () của giao diện Danh sách chấp nhận một đối tượng của UnaryOperator đại diện cho một thao tác cụ thể thực hiện thao tác được chỉ định trên tất cả các phần tử của danh sách hiện tại và thay thế các giá trị hiện có bằng các giá trị kết quả.

Trong ví dụ sau, chúng tôi đang triển khai giao diện UnaryOperator và tạo một đối tượng toán tử một ngôi tùy chỉnh và cố gắng chuyển nó làm đối số cho phương thức ReplaceAll ().

Ví dụ

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);
   }
}

Đầu ra

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