## Uses of Class
java.lang.FunctionalInterface

- Packages that use FunctionalInterface
  Package | Description
  --- | ---
  java.awt | Contains all of the classes for creating user interfaces and for painting graphics and images.
  java.io | Provides for system input and output through data streams, serialization and the file system.
  java.lang | Provides classes that are fundamental to the design of the Java programming language.
  java.nio.file | Defines interfaces and classes for the Java virtual machine to access files, file attributes, and file systems.
  java.time.temporal | Access to date and time using fields and units, and date time adjusters.
  java.util | Contains the collections framework, legacy collection classes, event model, date and time facilities, internationalization, and miscellaneous utility classes (a string tokenizer, a random-number generator, and a bit array).
  java.util.concurrent | Utility classes commonly useful in concurrent programming.
  java.util.function | Functional interfaces provide target types for lambda expressions and method references.
  java.util.logging | Provides the classes and interfaces of the JavaTM 2 platform's core logging facilities.
  java.util.prefs | This package allows applications to store and retrieve user and system preference and configuration data.

- - ### Uses of FunctionalInterface in java.awt

    Classes in java.awt with annotations of type FunctionalInterface
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `KeyEventDispatcher` A KeyEventDispatcher cooperates with the current KeyboardFocusManager in the targeting and dispatching of all KeyEvents.
    `interface` | `KeyEventPostProcessor` A KeyEventPostProcessor cooperates with the current KeyboardFocusManager in the final resolution of all unconsumed KeyEvents.

  - ### Uses of FunctionalInterface in java.io

    Classes in java.io with annotations of type FunctionalInterface
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `FileFilter` A filter for abstract pathnames.
    `interface` | `FilenameFilter` Instances of classes that implement this interface are used to filter filenames.

  - ### Uses of FunctionalInterface in java.lang

    Classes in java.lang with annotations of type FunctionalInterface
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `Runnable` The `Runnable` interface should be implemented by any class whose instances are intended to be executed by a thread.
    `static interface` | `Thread.UncaughtExceptionHandler` Interface for handlers invoked when a `Thread` abruptly terminates due to an uncaught exception.

  - ### Uses of FunctionalInterface in java.nio.file

    Classes in java.nio.file with annotations of type FunctionalInterface
    Modifier and Type | Interface | Description
    --- | --- | ---
    `static interface` | `DirectoryStream.Filter<T>` An interface that is implemented by objects that decide if a directory entry should be accepted or filtered.
    `interface` | `PathMatcher` An interface that is implemented by objects that perform match operations on paths.

  - ### Uses of FunctionalInterface in java.time.temporal

    Classes in java.time.temporal with annotations of type FunctionalInterface
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `TemporalAdjuster` Strategy for adjusting a temporal object.
    `interface` | `TemporalQuery<R>` Strategy for querying a temporal object.

  - ### Uses of FunctionalInterface in java.util

    Classes in java.util with annotations of type FunctionalInterface
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `Comparator<T>` A comparison function, which imposes a total ordering on some collection of objects.

  - ### Uses of FunctionalInterface in java.util.concurrent

    Classes in java.util.concurrent with annotations of type FunctionalInterface
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `Callable<V>` A task that returns a result and may throw an exception.

  - ### Uses of FunctionalInterface in java.util.function

    Classes in java.util.function with annotations of type FunctionalInterface
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `BiConsumer<T,U>` Represents an operation that accepts two input arguments and returns no result.
    `interface` | `BiFunction<T,U,R>` Represents a function that accepts two arguments and produces a result.
    `interface` | `BinaryOperator<T>` Represents an operation upon two operands of the same type, producing a result of the same type as the operands.
    `interface` | `BiPredicate<T,U>` Represents a predicate (boolean-valued function) of two arguments.
    `interface` | `BooleanSupplier` Represents a supplier of `boolean`-valued results.
    `interface` | `Consumer<T>` Represents an operation that accepts a single input argument and returns no result.
    `interface` | `DoubleBinaryOperator` Represents an operation upon two `double`-valued operands and producing a `double`-valued result.
    `interface` | `DoubleConsumer` Represents an operation that accepts a single `double`-valued argument and returns no result.
    `interface` | `DoubleFunction<R>` Represents a function that accepts a double-valued argument and produces a result.
    `interface` | `DoublePredicate` Represents a predicate (boolean-valued function) of one `double`-valued argument.
    `interface` | `DoubleSupplier` Represents a supplier of `double`-valued results.
    `interface` | `DoubleToIntFunction` Represents a function that accepts a double-valued argument and produces an int-valued result.
    `interface` | `DoubleToLongFunction` Represents a function that accepts a double-valued argument and produces a long-valued result.
    `interface` | `DoubleUnaryOperator` Represents an operation on a single `double`-valued operand that produces a `double`-valued result.
    `interface` | `Function<T,R>` Represents a function that accepts one argument and produces a result.
    `interface` | `IntBinaryOperator` Represents an operation upon two `int`-valued operands and producing an `int`-valued result.
    `interface` | `IntConsumer` Represents an operation that accepts a single `int`-valued argument and returns no result.
    `interface` | `IntFunction<R>` Represents a function that accepts an int-valued argument and produces a result.
    `interface` | `IntPredicate` Represents a predicate (boolean-valued function) of one `int`-valued argument.
    `interface` | `IntSupplier` Represents a supplier of `int`-valued results.
    `interface` | `IntToDoubleFunction` Represents a function that accepts an int-valued argument and produces a double-valued result.
    `interface` | `IntToLongFunction` Represents a function that accepts an int-valued argument and produces a long-valued result.
    `interface` | `IntUnaryOperator` Represents an operation on a single `int`-valued operand that produces an `int`-valued result.
    `interface` | `LongBinaryOperator` Represents an operation upon two `long`-valued operands and producing a `long`-valued result.
    `interface` | `LongConsumer` Represents an operation that accepts a single `long`-valued argument and returns no result.
    `interface` | `LongFunction<R>` Represents a function that accepts a long-valued argument and produces a result.
    `interface` | `LongPredicate` Represents a predicate (boolean-valued function) of one `long`-valued argument.
    `interface` | `LongSupplier` Represents a supplier of `long`-valued results.
    `interface` | `LongToDoubleFunction` Represents a function that accepts a long-valued argument and produces a double-valued result.
    `interface` | `LongToIntFunction` Represents a function that accepts a long-valued argument and produces an int-valued result.
    `interface` | `LongUnaryOperator` Represents an operation on a single `long`-valued operand that produces a `long`-valued result.
    `interface` | `ObjDoubleConsumer<T>` Represents an operation that accepts an object-valued and a `double`-valued argument, and returns no result.
    `interface` | `ObjIntConsumer<T>` Represents an operation that accepts an object-valued and a `int`-valued argument, and returns no result.
    `interface` | `ObjLongConsumer<T>` Represents an operation that accepts an object-valued and a `long`-valued argument, and returns no result.
    `interface` | `Predicate<T>` Represents a predicate (boolean-valued function) of one argument.
    `interface` | `Supplier<T>` Represents a supplier of results.
    `interface` | `ToDoubleBiFunction<T,U>` Represents a function that accepts two arguments and produces a double-valued result.
    `interface` | `ToDoubleFunction<T>` Represents a function that produces a double-valued result.
    `interface` | `ToIntBiFunction<T,U>` Represents a function that accepts two arguments and produces an int-valued result.
    `interface` | `ToIntFunction<T>` Represents a function that produces an int-valued result.
    `interface` | `ToLongBiFunction<T,U>` Represents a function that accepts two arguments and produces a long-valued result.
    `interface` | `ToLongFunction<T>` Represents a function that produces a long-valued result.
    `interface` | `UnaryOperator<T>` Represents an operation on a single operand that produces a result of the same type as its operand.

  - ### Uses of FunctionalInterface in java.util.logging

    Classes in java.util.logging with annotations of type FunctionalInterface
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `Filter` A Filter can be used to provide fine grain control over what is logged, beyond the control provided by log levels.

  - ### Uses of FunctionalInterface in java.util.prefs

    Classes in java.util.prefs with annotations of type FunctionalInterface
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `PreferenceChangeListener` A listener for receiving preference change events.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.