自定義在 java 中的一元運算子實現。


java.util.function.UnaryOperator 介面可用作 Lambda 表示式的賦值目標,它表示單個操作,其結果與輸入型別相同。我們可以透過實現此介面建立一個我們自己的 UnaryOperator。

List 介面的 replaceAll() 方法接受表示特定操作的 UnaryOperator 物件,它對當前列表的所有元素執行指定操作,並用結果值替換現有值。

在以下示例中,我們正在實現 UnaryOperator 介面並建立一個自定義一元運算子物件,並嘗試將它作為引數傳遞給 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]

更新時間: 2020-02-20

341 次瀏覽

開啟你的 事業

完成課程以獲得認證

入門
廣告
© . All rights reserved.