Javaがマルチパラダイム言語であるにもかかわらず、Javaは明らかにオブジェクト指向と命令型のコーディングスタイルを推奨している。 しかし、深く統合された言語サポートがなくても、多くの関数イディオム、概念、テクニックが利用可能である。
JDKには、機能的アプローチで一般的な問題を解決するための多数のツールが用意されており、完全に機能的でなくてもFPの利点は享受できる。