Commit ba7b8c6b by Patryk Czarnik

switch Java 21

parent 5837de10
package p06_switch;
import java.io.File;
import java.time.LocalDate;
public class SwitchNaObiektach {
/* W Java 21 pojawiły się kolejne możliwości switcha:
* - case null jako legalny warunek
* - rozróżnianie obiektów wg ich typu
* - klauzula when z warunkiem logicznym
*/
public static void main(String[] args) {
Object jakisObiekt;
// jakisObiekt = "owca";
// jakisObiekt = "koza";
// jakisObiekt = new File("sciezka/do/pliku.txt");
jakisObiekt = LocalDate.of(1997, 8, 19);
switch(jakisObiekt) {
case String s when s.startsWith("o") -> System.out.println("To jest napis na o:" + s);
case String s when s.startsWith("k") -> System.out.println("To jest napis na k:" + s);
case String s when s.equalsIgnoreCase("java") -> System.out.println("To jest napis JAVA");
case String s -> System.out.println("To jest inny napis: " + s);
case File f -> System.out.println("To jest plik " + f.getAbsolutePath());
case LocalDate dt -> System.out.println("To jest data " + dt + " (dzień tygodnia " + dt.getDayOfWeek() +")");
case null -> System.out.println("Nie ma nic");
default -> System.out.println("Nie wiem co to jest. Ale klasą jest " + jakisObiekt.getClass());
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment