Aliasy w importach w Kotlinie
Dziś mała rzecz, bo i czasu mało. Importy w Kotlinie wyglądają co do zasady tak samo jak w Javie. Zatem mamy możliwość zaimportowania pojedynczej klasy, a cały pakiet importujemy z użyciem \* (w Scali jest \_). Jest kilka drobnych różnic. Po pierwsze nie ma słówka static. Chcesz zaimportować pojedynczą metodę z obiektu (implementacja singletona) używasz import i jazda. Druga to możliwość aliasowania.
Aliasy w importach
Typowy przypadek z javy. Stworzyliśmy dwa enumy, które zawierają takie same wartości, ale ich znaczenie jest zupełnie inne. Teraz chcemy obu użyć w jednym miejscu kodu
Listing 1. Przykład konfliktu nazw
assertThat(E1.E).isEqualTo(some1);
assertThat(E2.E).isEqualTo(some2);
Jeżeli zamienimy to na importy statyczne to nie będzie działało, ponieważ powstanie konflikt nazw. W kotlinie możemy jednak stworzyć aliasy:
Listing 2. Alias importu w Kotlinie
import pl.koziolekweb.kotlin.E1.E as e1e
import pl.koziolekweb.kotlin.E2.E as e2e
// dalej w kodzie
assertThat(e1e).isEqualTo(some1);
assertThat(e2e).isEqualTo(some2);
I konflikt znika.
Mała rzecz a cieszy.