A DESCRIPTION OF THE REQUEST :
Please add an empty default consumer in java.util.function.Consumer which can be accessed by Consumer.EMPTY for example
public static final Consumer EMPTY = element -> {};
JUSTIFICATION :
in many projects I use overloaded factory methods to create objects which have last parameter with type of Customer<OBJECT_TYPE> customizer, for example:
User createUser(String login, String password, Consumer<User> customizer) {
User user = new User();
user.setLogin(login);
user.setPassword(password);
if (customizer != null) {
customizer.accept(user);
}
}
for cases when I don't need to customize the created object I create overloaded method like this:
User createUser(String login, String password) {
return createUser(login, password, null);
}
In first createUser method I should check customizer reference before use it. Of course in second method I can set empty consumer like this:
User createUser(String login, String password) {
return createUser(login, password, user -> {});
}
and don't check customizer reference, but I don't want always create empty consumers in overloaded methods, I want to use something like this:
User createUser(String login, String password) {
return createUser(login, password, Consumer.EMPTY);
}
:)
Please add an empty default consumer in java.util.function.Consumer which can be accessed by Consumer.EMPTY for example
public static final Consumer EMPTY = element -> {};
JUSTIFICATION :
in many projects I use overloaded factory methods to create objects which have last parameter with type of Customer<OBJECT_TYPE> customizer, for example:
User createUser(String login, String password, Consumer<User> customizer) {
User user = new User();
user.setLogin(login);
user.setPassword(password);
if (customizer != null) {
customizer.accept(user);
}
}
for cases when I don't need to customize the created object I create overloaded method like this:
User createUser(String login, String password) {
return createUser(login, password, null);
}
In first createUser method I should check customizer reference before use it. Of course in second method I can set empty consumer like this:
User createUser(String login, String password) {
return createUser(login, password, user -> {});
}
and don't check customizer reference, but I don't want always create empty consumers in overloaded methods, I want to use something like this:
User createUser(String login, String password) {
return createUser(login, password, Consumer.EMPTY);
}
:)
- relates to
-
JDK-8067971 Support optimizations for always-true and always-false Predicates
-
- Closed
-