【发布时间】:2021-03-30 16:29:59
【问题描述】:
这是一个似乎可以工作但我不明白为什么的代码示例:
public static void replaceElements(List<Integer> list, int operator) {
list.replaceAll(element -> element % operator);
}
Java 是如何知道变量 element 是指 list 的一个元素?为什么尽管 javadoc 说参数必须是一元运算符,但 replaceAll 方法仍然有效?:
default void replaceAll(UnaryOperator<E> operator)
我试图通过逐步调试来理解它,但它并没有太大帮助。感谢您的任何回答!
【问题讨论】: