Mała łamigłówka z Javy
Poniżej znajdziesz trochę kodu napisanego w Javie. Mam do Ciebie prośbę: postaraj się nie uruchamiać tego kodu, tylko zastanów się “na sucho”, co się stanie.
Skopiowanie kodu do jshella zajmuje tylko kilka sekund, ale i wiedza pozyskana w ten sposób nie będzie trwała…
Sugeruję zrobić z tego ćwiczenia swoisty eksperyment myślowy, poczytać Javadoc, podumać…
19import java.util.*;
20
21public class Riddle {
22
23 public static void main(String[] args) {
24 var raz = List.of("checking!");
25 var dwa = List.copyOf(raz);
26 if (raz == dwa) {
27 System.out.println("ene");
28 } else if (raz.equals(dwa)) {
29 System.out.println("due");
30 } else {
31 System.out.println("like");
32 }
33 System.out.println(raz.getClass().getCanonicalName());
34 }
35}
Teraz postaraj się odpowiedzieć na te dwa pytania:
- Jaka jest minimalna wersja Javy wymagana do uruchomienia tego kodu?
- Jaka będzie pierwsza wypisana linia przez ten kod?
ene
,due
czy możelike
? - * Jaka jest klasa obiektu
raz
?
Odpowiedzi (i mojego komentarza) spodziewaj się wkrótce.
Kod znajduje się też na Githubie.