Итак, проблема в том, что говорится. Я хочу переопределить поведение equals в строковом классе в определенном пакете.
Я посмотрел вокруг, и в основном кажется, что нет никакого способа сделать это.
Самое близкое к определению метода в существующем классе было следующее:
implicit class StringImprovements(s: String) {
def increment = s.map(c => (c + 1).toChar)
}
и затем используйте его так -
"HAL".increment
Что, честно говоря, удивительно. Но затем я попытался переопределить «равные», используя тот же подход, он не работает.
Я осмотрелся и нашел этот вопрос с 2015 года - переопределить метод библиотеки с использованием Scala Implicit
Ссылаясь на строку вышеупомянутого вопроса -
Имплики используются, если компилятор scala не может найти метод без него, поэтому вы не можете переопределить методы с имплицитами
Но, учитывая, что релизы Scala очень часты, и все постоянно меняется, мне было интересно, возможно ли сделать это сейчас, с помощью этих средств или любым другим способом.
Заранее спасибо!