Java 8 provides several functional interfaces in package java.util.function.
For each basic function (Function, Consumer, Predicate, Supplier...) there are other defined where the type parameter is specialized for the following primitive type: double, int, long.
This questions is about the motivation of such interfaces: Why are there primitive functions like DoubleFunction in Java 8
But why not all the primitive types are covered (e.g. float is missing)?