В Программировании на Scala я могу прочитать, что оператор ==
ведет себя так, как если бы он был определен так:
final def == (that: Any): Boolean = if (null eq this) {null eq that} else {this equals that}
Но на самом деле должна существовать магия компилятора, чтобы избежать исключений нулевого указателя, верно? Есть ли способ для меня повторить это поведение с чистым Scala; то есть оператор / метод возвращает одну вещь, если получатель нулевой, и другую, если нет? Я имею в виду фактическую реализацию null eq this
.
Полагаю, я могу написать "сутенер" и затем определить метод для класса-оболочки, но есть ли более прямой способ сделать это?