1) Ten List.of(...) byl spatne - vytvari immutable kolekci, kdyz z ni chceme odebirat, tak to nepujde.
Nicmene ok, rikal jsem ze tohle je encyklopedicka znalost, neni treba vedet. Je ale blby to tady porad predhazovat, kdyz vam bylo receno, ze je to spatne.
Tých medzier máte zrejme viacej. Toto je ale v súčastnosti zaužívaný postup: immutability a funkcionálne programovanie. Takto sa to robí, ak potrebujem spracovať dáta. Ak by som predsa potreboval mutable kolekciu,
tak si ju vytvorím. Napríklad pomocou Guavy alebo Eclipse Collections. Určite nie tak zastaralo, ako ste to spravili Vy.
2) Java 9 neni long term stable. Pokud mate cas vymenovat a testovat kazdy pulrok nove verze Javy, tak budiz, pro vetsinu serioznich business modelu to je ale absurdni nesmysl.
Isteže, firmy si konzervatívne. Ja si však do školského testovacieho príkladu môžem zadať to, čo uznám za vhodné.
Pokiaľ je v zadaní napísané, že používať max Java 8, tak budem používať Javu 8. Fakt ja som široko-ďaleko nevidel programátora, ktorý by vytváral
ArrayList takýmto zastaraným spôsobom.
3) ano list je mozna nevhodne pojmenovani, mozna neni - je to dane stabni kulturou v danem projektu - poznamka je relevantni ale ne absolutne pravdiva.
Žiadne možno nie je. Je to katastrofálne pomenovanie. Chcete mi nahovoriť, že niekde na svete majú štábnu kultúru, kde sa
List premenná nazýva list,
Map map, a
Set set? Asi máloktoré pomenovanie môže byť horšie.
4) ano, equals na stringu je potencionalni zdroj chyby, pokud nemate zajisteno, ze v kontejneru neni null. Nicmene ve svem reseni jste udelal stejnou chybu.
Tak to si doštudujte. V immutable list nemôžete mať null. Ak by som predsa filtroval dáta, ktoré
môžu potencionálne obsahovať null, tak použijem
filter(Objects::nonNull). Toto je Vaša školácka chyba.
To, že ste spravili takúto začiatočnícku chybu by som vôbec neriešil, aj keby že ste super senior. Jednoducho upozorním a programátor si nabudúce dá pozor. Čo mi však veľmi vadí, je Vaša arogancia.
5) Lol:
a) Zamenovat schopnost rozponat algoritmicky problem za znalost nejake konkretni knihovny...
b) Ano cteni dokumentace je samozrejmosti, hypoteticky na pohovoru - dejte sem dokumentaci swingu a za pul hodiny se o tom muzem pobavit.
To nemáte po ruke Core Java od Horstmanna, či Java: The Complete Reference od Schildta?
To sú dve najdôležitejšie Biblie core Javy. Z čoho ste sa učili? Takmer v každej knihe o core Jave máte Swing. Ak nemáme tie knihy po ruke, stačí jeden Google dotaz:
https://docs.oracle.com/javase/tutorial/uiswing/Vyhlasujem, že ak niekto príde s riešením tohto naozaj triviálneho problému, opravím ho, upozorním na problémy a nebudem k nemu arogantný, ak pán Petr.
Vsechny veci co jste vyjmenoval krome ad1 jsou potencionalni problemy, kdy je vhodne, ze na ne clovek upozorni. Ale fatalni chybu jste neodhalil. To nema s api co delat. I kdybyste o jave nevedel lautr nic, tak je to misto, ktere by vas melo minimalne zarazit.
já nic kompilovat nebudu, hádám správně výsledek ConcurrentModificationException?
Na ten chyták reagoval ako prvý v. Reagovali potom viacerí. Nemal som čo odhaľovať. Pridal som potom ďalšie veci, zastaralú syntax, nevhodné pomenovania, nezmyselné zadanie, a školácky chybné testovanie reťazca.
Avšak, ja by som tieto chyby príliš nerozoberal. Chyby sa spravia a skúsenejší programátori poradia. Hlavný problém vidím v arogancii, pocitu nadradenosti nad druhými. Potrebe zhadzovať druhých. Toto je, čo ja z duše nenávidím.