No, but for many such “constant” functions it’s easy to write your own lambda expression. In fact, one can write `x -> x`

instead of `Function.identity()`

and in some cases it’s clearer. Here is a list of common constant functions and how they can be written using lambda.

Predicate that always returns true or false:

`x -> true`

`x -> false`

Runnable that does nothing:

`() -> { }`

Consumer that does nothing:

`x -> { }`

Supplier that returns a constant *k.* This could be a value that’s captured from the lexical environment, or it could be a literal:

`() -> k`

Function that returns a constant *k*:

`x -> k`

Identity function, the same as Function.identity():

`x -> x`

Function taking two arguments that returns the first or second:

`(a, b) -> a`

`(a, b) -> b`

## Leave a Reply