Wpis z mikrobloga

Dlaczego to

int value;


public String toString() {

return "" + value;

}


jest odbierane jako String, a to

int value;


public String toString() {

return value;

}


jako int? W sensie że czemu akurat cudzysłów coś tu zmienia, ewentualnie gdzie dokładnie w dokumentacji mogę więcej doczytać na ten temat

#java #programowanie
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Aureos: "" tworzy instancję Stringa, a operator + w tym przypadku "przekształca" int na String i łączy dwa stringi ze sobą. W drugim przypadku po prostu chcesz zwrócić int, a metoda zadeklarowana jest, że zwraca String.
  • Odpowiedz
@Aureos: W Javie jest silne typowanie, w odróżnieniu od np. JavaScriptu. W wielu przypadkach typy nie są automatycznie konwertowane.

W przypadku Twojego kodu, wyrażenie

"" + value

można by rozwinąć
  • Odpowiedz