Hibák/Figyelmeztetések

A Hibák/Figyelmeztetések beállításait a Megnyitja a Hibák/Figyelmeztetések oldalt Java > Fordító > Hibák/Figyelmeztetések oldalon adhatja meg.

Kódstílus

Beállítás

Leírás

Alapértelmezés

Nem statikus hozzáférés egy statikus taghoz

Ha engedélyezve van, akkor a fordító hibaként vagy figyelmeztetésként jelzi, ha egy statikus mezőhöz vagy metódushoz hozzáférése kifejezésfogadóval történik. Egy statikus tagra vonatkozó hivatkozást típusnévvel kell képezni.

Figyelmeztetés

Közvetett hozzáférés egy statikus taghoz

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor egy statikus mezőhöz vagy metódushoz közvetetten történik hozzáférés. Egy felület statikus mezőjét a deklaráló típusnévvel kell minősíteni.

Figyelmen kívül hagyás

Minősítetlen hozzáférés példánymezőhöz

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, ha egy mező hozzáférés nem minősített (pl. kihagy egy 'this' kulcsszót).

Figyelmen kívül hagyás

Nem dokumentált üres blokk

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor magyarázó megjegyzések nélküli üres utasítással találkozik.

Figyelmen kívül hagyás

Hozzáférés beágyazó típus nem hozzáférhető tagjához

Ha engedélyezett, akkor a fordító hibát vagy figyelmeztetést jelez, amikor egy beágyazó típus nem hozzáférhető tag hozzáférését emulálja. Az ilyen hozzáférések befolyásolhatják a teljesítményt.

Figyelmen kívül hagyás

Konstruktornevet viselő metódusok

A metódusok konstruktornévvel elnevezése általában szegényes programozási stílusra utal. Ha a beállítás engedélyezve van, akkor a fordító hibaként vagy figyelmeztetésként jelzi az ilyen szituációkat.

Figyelmeztetés

Paraméterhozzárendelés

Paraméterhez értéket rendelni általában szegényes programozási stílusra utal. Ha a beállítás engedélyezve van, akkor a fordító hibaként vagy figyelmeztetésként jelzi az ilyen szituációkat.

Figyelmen kívül hagyás

Külsőleg nem elérhetővé tett karaktersorozatok

Ha engedélyezve van, akkor a fordító hibaként vagy figyelmeztetésként jelzi a külsőleg elérhetővé nem tett karaktersorozat literálokat (azokat, amelyek nincsenek felcímkézve a //$NON-NLS-<n>$ jelölővel), vagy a karaktersorozathoz nem tartozó, külsőleg elérhetővé nem tett karaktersorozat címkéket.

Figyelmen kívül hagyás

Lehetséges programozási problémák

Szerializálható osztály serialVersionUID nélkül

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, ha 'java.io.Serializable' csomagot megvalósító típus nem tartalmazza a serialVersionUID mezőt.

Figyelmeztetés

A hozzárendelésnek nincs hatása (pl. 'x = x')

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, ha egy hozzárendelésnek nincs hatása (pl. 'x = x').

Figyelmeztetés

Lehetséges véletlen logikai típus hozzárendelés (pl. 'if (a = b)')

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, ha lehetséges véletlen logikai hozzárendeléssel találkozik (pl. 'if (a = b)').

Figyelmen kívül hagyás

A 'finally' blokk nem normálisan fejeződik be

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, ha egy 'finally' utasítás nem normálisan végződik (pl. return utasítást tartalmaz).

Figyelmeztetés

Üres utasítás

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, ha üres utasítással találkozik (pl. egy felesleges pontosvesszővel).

Figyelmen kívül hagyás

Char tömb használata karaktersorozat összefűzésénél

Ha engedélyezve van, akkor a fordító hibaként vagy figyelmeztetésként jelzi, ha karaktersorozat összefűzésénél egy char[] kifejezést használ:

"hello" + new char[]{'w','o','r','l','d'}

Figyelmeztetés

Rejtett elfogási blokkok

Try utasításnál néhány elfogási blokk helyben elrejthet más blokkokat, pl.

try { throw new java.io.CharConversionException();
} catch (java.io.CharConversionException e) {
} catch (java.io.IOException e) {}.

Ha engedélyezve van, akkor a fordító hibaként vagy figyelmeztetésként jelzi az ellenőrzött kifejezésekkel egyező elfogási blokkok elrejtését.

Figyelmeztetés

Vararg argumentumok nem pontos típus egyezése

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor vararg argumentumok nem pontos típus egyezésével találkozik.

Figyelmeztetés

Típusátalakítások és -visszaalakítások

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor típusátalakítással vagy -visszaalakítással találkozik. Az automatikus típusátalakítás negatív hatással lehet a teljesítményre.

Figyelmen kívül hagyás

'switch' által le nem fedett felsorolási típusú konstans

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, ha olyan switch utasítással találkozik, amely nem tartalmaz case utasításokat a hivatkozott enum minden enum konstansához.

Figyelmen kívül hagyás

'switch' eset átesés

Engedélyezésével a fordító hibát vagy figyelmeztetést jelez, valahányszor 'break' utasítás nélküli eset áteséssel találkozik. Az üres eset átesések engedélyezettek.

Figyelmen kívül hagyás

Null hivatkozás

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor egy esetleg null helyi változó hivatkozása megszűnik. Az elemzés meglehetősen konzervatív, csak a gyanús eseteket vizsgálja.

Figyelmen kívül hagyás

Névárnyékolás és ütközések

A mező deklaráció más mezőt vagy változót rejt

Ha engedélyezve van, akkor a fordító hibaként vagy figyelmeztetésként jelzi, ha egy mező deklaráció elrejt egy másik örökölt mezőt.

Figyelmen kívül hagyás

Helyi változó deklaráció más mezőt vagy változót rejt

Ha engedélyezve van, akkor a fordító hibaként vagy figyelmeztetésként jelzi, ha egy helyi változó deklaráció elrejt egy másik mezőt vagy változót.

Figyelmen kívül hagyás

Konstruktor vagy beállító metódus paraméterek tartalmazása

Ha engedélyezve van, akkor a fordító hibaként vagy figyelmeztetésként jelzi, ha egy konstruktor vagy beállító metódus paraméter elrejt egy másik mezőt vagy változót.

Ki

Típus paraméter másik típust rejt

Ha engedélyezve van, akkor a fordító hibaként vagy figyelmeztetésként jelzi, ha pl. egy belső osztály típus paramétere elrejt egy külső típust.

Figyelmeztetés

Újradefiniált metódusok látható csomag nélkül

Egy csomag alapértelmezett metódusa nem látható egy másik csomagban, így nem lehet újradefiniálni. Ha a beállítás engedélyezve van, akkor a fordító hibaként vagy figyelmeztetésként jelzi az ilyen szituációkat.

Figyelmeztetés

Védett 'Object' metódussal ütköző felület metódus

Ha engedélyezve van, akkor a fordító hibaként vagy figyelmeztetésként jelzi, ha egy felület egy nem örökölt objektum metódussal inkompatibilis metódust határoz meg. A konfliktus feloldásáig az ilyen felületet nem lehet megvalósítani, pl.

interface I {
   int clone();
}

Figyelmeztetés

Elavult és korlátozott API

Elavult API

Engedélyezése esetén a fordító hibaként vagy figyelmeztetésként jelzi az elévült API használatát.

Figyelmeztetés

Elavult API elévült kódban alkalmazásának jelzése

Ha engedélyezve van, akkor a fordító jelzi az elavult API elavult kódban történő használatát. A probléma fontosságát az "Elavult API" beállításnál adhatja meg.

Ki

Elavult metódus újradefiniálásának vagy megvalósításának jelzése

Engedélyezésekor a fordító jelzi az elavult metódus újradefiniálását vagy megvalósítását. A probléma fontosságát az "Elavult API" beállításnál adhatja meg.

Ki

Tiltott hivatkozások (hozzáférési szabályok)

Engedélyezésével a fordító jelzi a hozzáférési szabályokban megadott tiltott hivatkozást.

Hiba

Nem javasolt hivatkozás (hozzáférési szabályok)

Engedélyezésével a fordító jelzi a hozzáférési szabályokban megadott nem javasolt hivatkozást.

Figyelmeztetés

Szükségtelen kód

Sohasem olvassa a helyi változót

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor olyan helyi változó kerül deklarálásra, amit soha nem használ az egység.

Figyelmeztetés

Sohasem olvassa a paramétert

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor olyan paraméter kerül deklarálásra, amit soha nem használ az egység.

Figyelmen kívül hagyás

Újradefiniáló és megvalósító metódusok ellenőrzése

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor olyan paraméter kerül deklarálásra, amit soha nem használ az egység újradefiniáló vagy megvalósító metódusokban.

Ki

Nem használt importálás

Ha engedélyezve van, akkor a fordító hibaként vagy figyelmeztetésként jelzi a használaton kívüli importálási hivatkozásokat.

Figyelmeztetés

Nem használt helyi vagy privát tagok

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor olyan helyi vagy privát tag kerül deklarálásra, amit soha nem használ az egység.

Figyelmeztetés

Szükségtelen else utasítás

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, ha szükségtelen else utasítással találkozik (pl. if (condition) return; else doSomething();).

Figyelmen kívül hagyás

Szükségtelen típusmódosítás vagy 'instanceof' művelet

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, ha szükségtelen cast vagy 'instanceof' művelettel találkozik (pl. if (object instanceof Object) return;).

Figyelmen kívül hagyás

Megtörtént kivétel szükségtelen deklarációja

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor megtörtént kivétel szükségtelen deklarációjával találkozik.

Figyelmen kívül hagyás

Újradefiniáló és megvalósító metódusok ellenőrzése

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor megtörtént kivétel szükségtelen deklarációjával találkozik újradefiniáló vagy megvalósító metódusban.

Ki

Nem használt break/continue címke

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor használaton kívüli 'break' vagy 'continue' címkével találkozik.

Figyelmeztetés

Általános típusok

Nem ellenőrzött általános típus művelet

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor nem ellenőrzött általános típus művelettel találkozik.

Figyelmeztetés

Nyers típusok használata

Engedélyezésekor a fordító hibát vagy figyelmeztetést jelez, valahányszor nyers típus használatát érzékeli (pl. List a List<String> helyett).

Figyelmen kívül hagyás

Általános típus paraméter végleges típus határral deklarálva

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor végleges határt magába foglaló típus határral találkozik.

Figyelmeztetés

Feljegyzések

Hiányzó '@Override' feljegyzés

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, ha egy másik, megvalósított metódust újradefiniáló metódussal találkozik,és hiányzik az '@Override' feljegyzés.

Figyelmen kívül hagyás

Hiányzó '@Deprecated' feljegyzés

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor kiegészítő '@Deprecated' feljegyzés nélküli elavult típussal találkozik.

Figyelmen kívül hagyás

Felső szintű felületként használt feljegyzés

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor típus megvalósító feljegyzéssel találkozik. Bár lehetséges, ez nem javasolt gyakorlatnak minősül.

Figyelmeztetés

Kezeletlen figyelmeztetés jelsorok a '@SuppressWarnings' feljegyzésben

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor kezeletlen figyelmeztetés jel sorral találkozik '@SuppressWarnings' feljegyzésben.

Figyelmeztetés

'@SuppressWarnings' feljegyzések engedélyezése

Engedélyezése után a fordító feldolgozza a '@SuppressWarnings' feljegyzéseket.

Be

Kapcsolódó fogalmak

Problémák nézet
Gyorsjavítás
Java összeépítő