Intellij 13 Generics - incompatible types

Intellij 13 Generics - incompatible types
S9
  • Rejestracja:prawie 11 lat
  • Ostatnio:9 miesięcy
  • Lokalizacja:Warszawa
  • Postów:3573
0

No witam :)
Mam następujący problem:
kiedy tworzę kod w Intellij 13 taki jak np. takie coś:
List<String> list = new ArrayList<>()

To czasami wywala błąd że typy nie są zgodne
Proszę o pomoc


"w haśle <młody dynamiczny zespół> nie chodzi o to ile masz lat tylko jak często zmienia się skład"
Shalom
  • Rejestracja:ponad 21 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0
  1. Niemożliwe. Pics or it didn't happen.
  2. A na pewno masz ustawione language level na przynajmniej 1.7? Bo diamond operator jest dopiero od 7.

"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
W0
Potwierdzam, też mi czasami coś takiego wyskakiwało, po kompilacji znikało.
KR
3. może być błąd w IntelliJ, czasem się trafiają (raz miałem że też podkreślał dobry kod w czystej Javie)
MI
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 4 lata
  • Postów:39
0

Dokładnie tak jak kolega wyżej napisał (pkt 2.). Sprawdź czy wszędzie masz tę javę 1.7.. Też miałem taki sam problem, okazało się, że podczas pisania kodu mogłem używać lambd (java 8), lecz podczas kompilacji odpalała się java 7 (a tutaj lambd nie było) i się sypało..

S9
  • Rejestracja:prawie 11 lat
  • Ostatnio:9 miesięcy
  • Lokalizacja:Warszawa
  • Postów:3573
0

Mam 8
Korzystałem ze streamów a to jest od 8
Po prostu czasem kod na czerwono się podświetla


"w haśle <młody dynamiczny zespół> nie chodzi o to ile masz lat tylko jak często zmienia się skład"
Shalom
  • Rejestracja:ponad 21 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

No to pokaż przykład takiego kodu który się podkreśla i dokładny komunikat błędu!


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
bogdans
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 5 lat
0

Proszę bardzo.
red_string.png
Aby to uzyskać, trzeba się trochę napracować.


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
edytowany 1x, ostatnio: bogdans
Zobacz pozostały 1 komentarz
bogdans
Z jakiego IDE Ty korzystasz, że takie bzdury opowiadasz?
NoZi
@bogdans przecież diamond ma type inference dlatego nie piszesz new ArrayList<String>(); A to co Ty zrobiłeś to pominąłeś całkiem typ, więc tworzysz obiekt raw type ...
LU
przykre troche to co napisales, bo pokazuje że juz pare razy mialem racje na tym forum #wlasniewygralemwszystkiedyskusjenatematkadrywykladowczejwtymkraju
bogdans
Ale o czym mówimy, o warningach, czy o wyświetlanych na czerwono errorach?
bogdans
@lubiepascala, może parę razy miałes rację, ale tym razem jej nie masz. Brak &lt;&gt; zasługuje tylko na warning (i na potępienie), ale nie jest błędem i IntelliJ nie ozdabia tego na czerwono.
bogdans
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 5 lat
0

To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
Shalom
  • Rejestracja:ponad 21 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

@bogdans ale to co pokazałeś to jest bardzo złe i brzydkie i powinien tam być przynajmniej warning bo new ArrayList() to NIE JEST to samo co new ArrayList<>()! Pierwsze tworzy raw type bez parametryzacji generycznej i jak najbardziej kompilator/IDE powinien ostrzegać że robisz tutaj rzutowanie z typu surowego na parametryzowany i moze to być błąd w kodzie.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
edytowany 2x, ostatnio: Shalom
bogdans
Zgoda, jest brzydkie ale błędu nie ma i IDE błędu nie sygnalizuje (jeśli oczywiście wcześniej nie porobi się sztuczek).
Shalom
Bo to nie jest błąd tylko co najwyżej warning ;]
bogdans
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 5 lat
0

A teraz
red_list.png


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
Shalom
  • Rejestracja:ponad 21 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

Teraz jest ok, ale na czerwono jest raczej ze względu na brak importów ;]


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
bogdans
Ale żeby w IntelliJ brakowało importów, to trzeba się trochę napracować:]

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.