Przed Tobą artykuł, który stanowi smaczek składniowy do Javy 🍬. Może się zdarzyć, że w innych kodach źródłowych dostrzeżesz takie słówko w języku Java, jakim jest "var". Co to takiego 😯? Na czym to polega i kiedy wolno to stosować? O tym dowiesz się w niniejszym materiale ✅!
"VAR" W JĘZYKU JAVA UPRZYJEMNI CI NIECO DEFINIOWANIE ZMIENNYCH!
Krótko i na temat. "var" jest słowem kluczowym do definiowania zmiennych lokalnych bez konkretnego typizowania. Czyli innymi słowy, możesz uniknąć podawania konkretnego typu zmiennej utworzonej wewnątrz dowolnej metody "zrzucając" ten obowiązek na kompilator. To się tak da? Od Javy 10, tak 😄!
Od razu napiszę taką rzecz, że to jest dopuszczalne wyłącznie dla zmiennych lokalnych (zmiennych umieszczanych wewnątrz metody). Nie możesz tego użyć w kontekście danych składowych znajdujących się na samej górze wnętrza klasy!
Przykład kodu źródłowego
Załóżmy, że jesteśmy w środku jakiejś metody i potrzebujemy zdefiniować sobie zmienną do późniejszych operacji. Niech będzie to typ "float", proszę bardzo 👇:
void doSomething() {
float number = 40.5f;
}Od Javy 10, możesz skorzystać ze słowa kluczowego "var" do definiowania zmiennych wewnątrz metod bez podawania konkretnego typu:
void doSomething() {
var number = 40.5f;
}Użycia słowa "var" będzie oznaczało "zwalenie" określenia typu na kompilator. W powyższej sytuacji poradzi sobie bez problemu i wydedukuje (na podstawie wartości po prawej stronie operatora przypisania), że musi chodzić o wartość zmiennoprzecinkową - jest to liczba zawierająca część ułamkową ("double") z dopisaną literką 'f', czyli to będzie "float" 👍.
Ta informacja wyjaśnia dlaczego zmienna musi być zdefiniowana (posiadać od razu z góry ustaloną wartość), aby "var" w języku Java przeszło bez problemów. Kompilator musi mieć jakąś wskazówkę, dzięki której może być w stanie wywnioskować, że typ zmiennej miał być taki, a nie inny 💡. Jak "dostrzeże" to:
var number = 14;to ma podstawić "int". Jak to:
var myClassInstance = new MyClass();to ma podstawić "MyClass" (przykładowa klasa) i tak dalej. Jak nie będzie żadnej wartości, to nic nie wywnioskuje i dlatego to spowoduje błąd kompilacji ⛔. Także do poprawnego skorzystania z tego, muszą być spełnione dwa warunki:
- zmienna musi mieć od razu przypisaną wartość (w grę wchodzi wyłącznie definicja zmiennej),
- to musi być zmienna lokalna występująca wewnątrz metody (nie można tego używać do danych składowych klasy).
Niejawna typizacja zmiennej lokalnej (odbywająca się przy pomocy słowa kluczowego "var" w języku Java), pozwala na uniknięcie każdorazowego wstawiania typu zmiennej samemu i przerzucenia tej odpowiedzialności na kompilator.
Więcej pisać o tym nie trzeba. Zachęcam Cię do stosowania słowa "var" jak najczęściej. Troszkę łatwiej będzie Ci pisać kod 😜.
NASTĘPNY ARTYKUŁ: stream w języku Java. Konwersja kolekcji na strumień