自定义在 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]
广告