Mam pewien problem ze zrozumieniem warunku gdy występuje negacja. od razu powiem że wiem jak działa negacja. I w tym poscie nie chodzi mi o sama negacje tylko w połączeniu z warunkiem. Najpierw pokaże część kodu.
Employee[] a = new Employee[100];
Class cl = a.getClass();
if (!cl.isArray()) return null;
Widać że w tym przypadku obiekt "a" jest tablicą i tak ma być w tym programie, ale zalecenie jest takie aby sprawdzić to czy na pewno jest tablicą.
1.Weźmy pierwszy przypadek: obiekt "a" jest tablicą.
Metoda isArray daje wynik TRUE, negacja to neguje i wartość całego wyrażenia jest FALSE.
i całość linijki mówi: Jeśli FALSE zwróć null.
- Weźmy drugi przypadek kiedy obiekt "a" nie byłby tablicą.
Metoda isArray daje wynik FALSE, negacja to neguje i wartość całego wyrażenia jest TRUE.
i całość linijki mówi: Jeśli TRUE zwróć null
==============================
W obydwu przypadkach wychodzi mi że warunek jest spełniony i za każdym razem powinno zwracać null.
Nie rozumiem tego, ponieważ program ma działać dalej jeśli obiekt "a" jest tablicą a zwracać null kiedy nie jest tablicą.
Więc musi nastapić najpierw sprawdzenie obiektu.
Wiem że to jest dobrze napisany ten kod bo to kod z książki, tylko ja nie rozumiem tego warunku jak go czytać/interpretować.
Może ktoś mi to rozjaśni interpretacje tego.