Java állítások használata
1. Bemutatkozás
A Java állítják kulcsszó lehetővé teszi a fejlesztők számára, hogy gyorsan ellenőrizzék a program bizonyos feltételezéseit vagy állapotát.
Ebben a cikkben, megnézzük a Java használatát állítják kulcsszó.
2. Java állítások története
A Java állítják kulcsszó került bevezetésre a Java 1.4-ben, tehát már jó ideje létezik. Ez azonban továbbra is kevéssé ismert kulcsszó, amely drasztikusan csökkentheti a kazántáblát és olvashatóbbá teheti kódunkat.
Például a kódunkban gyakran ellenőrizni kell bizonyos feltételeket, amelyek megakadályozhatják alkalmazásunk megfelelő működését. Általában ilyesmit írnánk:
Csatlakozási kapcsolat = getConnection (); if (conn == null) {dobjon új RuntimeException-t ("A kapcsolat null"); }
Állítások segítségével eltávolíthatjuk a ha és dobás nyilatkozatot egyetlen állítják nyilatkozat.
3. A Java állítások engedélyezése
Mivel a Java állításai a állítják kulcsszó, nincsenek importálandó könyvtárak és csomagok.
Ne feledje, hogy a Java 1.4 előtt teljesen törvényes volt az „assert” szót használni a változók, módszerek stb. Megnevezéséhez. Ez potenciálisan névadási ütközést okozhat, ha egy régebbi kódot használnak újabb JVM verziókkal.
Ezért a visszamenőleges kompatibilitás érdekében a JVM alapértelmezés szerint letiltja az állítás érvényesítését. Kifejezetten engedélyezni kell őket a -megállapításokat parancssori argumentum, vagy annak rövidítése -ea:
java -ea com.baeldung.assertion.Assertion
Ebben a példában engedélyeztük az állításokat az összes osztályhoz.
Az állításokat engedélyezhetjük konkrét csomagokhoz és osztályokhoz is:
java -ea: com.baeldung.assertion ... com.baeldung.assertion.Assertion
Itt engedélyeztük az állításokat a com.baeldung. állítás csomag.
Hasonlóképpen letilthatók bizonyos csomagok és osztályok esetében a -megszüntethető állítások parancssori argumentum, vagy annak rövidítése -da. Mind a négy érvet együtt felhasználhatjuk.
4. Java állítások használata
Állítások hozzáadásához egyszerűen használja a állítják kulcsszót, és adja meg a logikai feltétel:
public void setup () {Connection conn = getConnection (); állítsd kon! = null; }
A Java egy második szintaxist is biztosít az állításokhoz, amely egy karakterláncot vesz fel, amelyet a AssertionError ha dobnak egyet:
public void setup () {Connection conn = getConnection (); assert conn! = null: "A kapcsolat null"; }
Mindkét esetben a kód ellenőrzi, hogy egy külső erőforrással való kapcsolat nem null értéket ad-e vissza. Ha ez az érték nulla, a JVM automatikusan dob egy AssertionError.
A második esetben a kivétel további részleteket tartalmaz, amelyek megjelennek a verem nyomában, és elősegíthetik a probléma hibakeresését.
Vessünk egy pillantást az osztályunk futtatásának eredményére engedélyezett állításokkal:
Kivétel a "main" szálban java.lang.AssertionError: A kapcsolat nulla a com.baeldung.assertion.Assertion.setup (Assertion.java:15) a com.baeldung.assertion.Assertion.main (Assertion.java:10)
5. Az an kezelése AssertionError
Osztály AssertionError kiterjed Hiba, amely maga is kiterjed Dobható. Ez azt jelenti AssertionError ellenőrizetlen kivétel.
Ezért az állításokat használó módszerek nem szükségesek a deklaráláshoz, és a további hívókódnak nem szabad megpróbálnia elkapni őket.
AssertionErrors helyrehozhatatlan állapotokat hivatottak jelezni alkalmazásban, ezért soha ne próbálkozzon velük, és ne próbáljon helyreállni.
6. Legjobb gyakorlatok
Az állításokkal kapcsolatban a legfontosabb, hogy ne felejtsük el őket, tehát soha ne feltételezd, hogy kivégzik őket.
Ezért állítások használata során tartsa szem előtt a következő dolgokat:
- Mindig ellenőrizze, hogy vannak-e null értékek és üresek Opcionális adott esetben
- Kerülje el az állítások használatát a nyilvános módszer bemeneteinek ellenőrzéséhez, ehelyett használjon ellenőrizetlen kivételt, például IllegalArgumentException vagy NullPointerException
- Ne hívjon metódusokat állítási körülmények között, hanem rendelje hozzá a metódus eredményét egy helyi változóhoz, és használja azt a változót állítják
- Az állítások kiválóan alkalmasak a kód soha nem végrehajtandó helyeire, például a alapértelmezett esete a kapcsoló utasítás vagy olyan ciklus után, amely soha nem fejeződik be
7. Következtetés
A Java állítják A kulcsszó hosszú évek óta elérhető, de a nyelv kevéssé ismert jellemzője. Ez segíthet sok kazánlapkód eltávolításában, olvashatóbbá tételében és a programok fejlesztésének korai szakaszában a hibák felismerésében.
Ne feledje, hogy az állítások alapértelmezés szerint nincsenek engedélyezve, ezért soha ne feltételezze, hogy végrehajtásra kerülnek, ha a kódban használják őket.
Mint mindig, a teljes forráskód elérhető a GitHubon.