[ bane @ 31.10.2018. 16:55 ] @
@Override
public boolean equals(Object obj) {

if(this == obj)
return true;
if(obj == null) {
return false;
}
if(getClass() != obj.getClass())
return false;
Car other = (Car) obj;
if(!manufacturer.equals(other.manufacturer))
return false;
if(!engine.equals(other.engine))
return false;
if(!color.equals(other.color))
return false;

return true;

}
Ono što mi nije jasno:

if(getClass() != obj.getClass())
return false;

A zatim Car other = (Car) obj;


Zašto ako su upitanju iste klase, imamo casting?
[ Branimir Maksimovic @ 31.10.2018. 17:09 ] @
Zato sto Java nema double dispatch pa drugi parametar biva Object.
[ bane @ 31.10.2018. 19:57 ] @
OK, mislim da sam razumio, pošto je potrebno pozvati instance variable koje se ne nalaze u Object klasi, radi se casting.

Hvala!