Случай 1.
Допустим, у вас есть:
val a: (ByteArray) -> Boolean = ...
val b: (ByteArray) -> Boolean = ...
В этом случае вам назначены две функции Котлина для двух val
с.
Если выЕсли вы хотите сравнить результаты двух функций по заданному аргументу, вы можете сделать:
if(a(someByteArray) == b(someByteArray))
Вместо этого, если вы действительно хотите сравнить две функции, вы можете просто сделать:
if(a == b)
Случай 2.
Допустим, у вас есть:
val a: Function1<ByteArray, Boolean> = ...
val b: Function1<ByteArray, Boolean> = ...
В этом случае у вас нет двух функций Котлина, но есть два объекта типа Function1<T, R>
.
Аналогично предыдущему случаю:
Сравнение результатов функций:
if (a.apply(someByteArray) == b.apply(someByteArray))
Сравнение двух объектов типа Function1<ByteArray, Boolean>
:
if(a == b)