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.