Voglio sapere perché .compareTo()
si trova in Comparable
interfaccia mentre un metodo come .equals
si trova in Object
classe. Per me, sembra arbitrario il motivo per cui un metodo come .compareTo()
non è già nella classe Object
.
Per utilizzare .compareTo()
, implementa l'interfaccia Comparable
e implementa il metodo .compareTo()
per i tuoi scopi. Per il metodo .equals()
, devi semplicemente eseguire l'override del metodo nella classe, poiché tutte le classi ereditano dalla classe Object
.
La mia domanda è: perché un metodo come .compareTo()
in un'interfaccia implementata piuttosto che in una classe come Object
? Allo stesso modo, perché il metodo .equals()
nella classe Object
e non in alcune interfacce deve essere implementato?