[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-java-8-dlya-chego-nuzhny-funktsionalnye-interfeysy-todoublebifunction-tointbifunction-i-tolongbifunction":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":16,"progress":17,"seo":18},352,"dlya-chego-nuzhny-funktsionalnye-interfeysy-todoublebifunction-tointbifunction-i-tolongbifunction",10,"java-8","Java 8+","☕","Для чего нужны функциональные интерфейсы ToDoubleBiFunction, ToIntBiFunction и ToLongBiFunction?","Эти интерфейсы принимают два аргумента обобщённых типов `T` и `U` и возвращают примитивный результат. Они являются специализациями `BiFunction`, оптимизированными для возврата примитива без автобоксинга.\n\n| Интерфейс | Вход | Выход |\n|-----------|------|-------|\n| `ToDoubleBiFunction\u003CT, U>` | `T`, `U` | `double` |\n| `ToIntBiFunction\u003CT, U>` | `T`, `U` | `int` |\n| `ToLongBiFunction\u003CT, U>` | `T`, `U` | `long` |\n\nПример: вычисление расстояния между двумя точками:\n\n```java\nToDoubleBiFunction\u003CPoint, Point> distance = (a, b) ->\n    Math.sqrt(Math.pow(b.x - a.x, 2) + Math.pow(b.y - a.y, 2));\n```\n\n> **На собеседовании:** эти интерфейсы спрашивают редко отдельно, но полезно знать принцип: `To_` в имени означает, что результат — примитив указанного типа.","","junior",[15],"java8",[],null,{"title":19,"description":20,"ogTitle":19,"ogDescription":21,"keywords":22,"schemaAnswer":23,"featuredSnippetReady":24},"Для чего нужны функциональные интерфейсы ObjDoubleConsumer,  — Gymterview","Эти интерфейсы представляют операцию, принимающую два аргумента — объект типа `T` и примитив — и ничего не возвращающую. Они являются специализированными версия","Эти интерфейсы представляют операцию, принимающую два аргумента — объект типа `T` и примитив — и ничего не возвращающую.",[15,13],"Эти интерфейсы представляют операцию, принимающую два аргумента — объект типа `T` и примитив — и ничего не возвращающую. Они являются специализированными версиями `BiConsumer`, где второй аргумент — примитив, что позволяет избежать автобоксинга.",true]