Wpis z mikrobloga

@atm-Pa: zależy od sytuacji. Jeżeli będzie mnóstwo castów to pewnie znak, że coś zostało źle zaprojektowane i może zamiast brnąć w to dalej lepiej zrobić jakąś większą refaktoryzację. Z drugiej strony jeżeli tego wymaga sytuacja to czemu nie.
  • Odpowiedz
@atm-Pa: raczej tak. Oczywiście są wyjątki np. przez wymogi systemu typów clone() zwraca Object, więc bez rzutowania nic nie zrobisz
  • Odpowiedz
@atm-Pa: innym przypadkiem może być użycie tak zwanych sum types, ale w javie wsparcie jest raczej słabe. W kotlinie albo w scali istnieje takie coś jak sealed class, które pozwalają na ułatwienie takiego stylu programowania ( https://kotlinlang.org/docs/reference/sealed-classes.html ). Taki mechanizm pewnie pojawi się też w normalnej javie ( https://openjdk.java.net/jeps/360 ). O róznicach pomiędzy tym mechanizmem a subtypingiem można opisać tu: https://softwareengineering.stackexchange.com/a/367535 .
  • Odpowiedz
Czy używanie rzutowania w Javie to zła praktyka?


@atm-Pa: Generalnie źle zadane pytanie. Skoro rzutowanie należy do języka to rzadko zdarza się sytuacja, że można pytać o to czy użycie jest złą praktyką.
Powinieneś zapytać raczej kiedy używanie rzutowania to zła praktyka. I w zasadzie otrzymałeś na to pytanie odpowiedź.
W skrócie, pisząc swój kod powinieneś robić to tak, aby jego użycie nie wymagało korzystania z rzutowań.
Jeśli natomiast korzystasz z
  • Odpowiedz