La sobrecarga es igual a BigDecimal en Kotlin
En un file Kotlin, bash sobrecargar el método equals de la class BigDecimal . Tengo el siguiente fragment de código para eso:
fun BigDecimal.equals(n: Any?): Boolean = n is Int && this.compareTo(BigDecimal(n)) == 0
El problema es que esta function no recibe un llamado por n.equals (1) donde n es de tipo BigDecimal. ¿Cuál es el problema y cómo puedo resolverlo?
- ¿Cómo lidiar con una ambigüedad de resolución de sobrecarga de funciones con generics?
- Kotlin: ambigüedad de resolución de sobrecarga lambda y sobrecarga
- Argumentos pnetworkingeterminados frente a sobrecargas, cuándo usar qué
- La ambigüedad de resolución de sobrecarga en el número de parameters lambda
- El uso de la function de lectura de AudioRecord en Kotlin no coincide con los arguments de los types de plataforma
No puede anular o sombrear funciones de classs con funciones de extensión. Vea la respuesta a una pregunta muy similar aquí .
De la documentation :
Si una class tiene una function miembro, y se define una function de extensión que tiene el mismo tipo de receptor, el mismo nombre y es aplicable a arguments dados, el miembro siempre gana.