トラン・アンミン:
通常、我々は述語を使用する場合、我々はjava.util.function.Predicateをインポートする必要があります。私たちはこの方法では、パラメータとして述語を使用した場合でも、私の場合には、(removeIf())、我々は、述語をインポートする必要はありません。何故ですか?
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args)
{
List<String> list = new ArrayList<>();
list.add("ABCDEFG");
list.add("ABC");
list.removeIf(s -> s.length() > 4);
System.out.println(list); // ABC
}
}
ありがとうございました。
また:
我々は法(removeIf())にパラメータとして述語を使用した場合、我々は述語をインポートする必要はありません。何故ですか?
ためPredicate
であるFunctionalInterface
任意の使用なしラムダとして表すことができるimport
S。ラムダのタイプは、コンパイラによって推測されます。