Void et al.

Java Multithreading
Szint , Lecke
Elérhető

"Szia Amigo! Van még egy kicsi és érdekes témám a számodra. Az üresség típus."

"És miért lenne szükséged egy ilyen típusra? Úgy értem, én értem a voidot: a függvények és eljárások összhangba hozása. Nincsenek eljárásaink, de vannak olyan függvényeink, amelyek érvénytelent (semmit) adnak vissza."

– Igen, de emlékszel, hogy Ellie nemrég mesélt neked a Callable felületről?

"Igen."

– És arra is emlékszel, mit kell típusérvként átadnod?

"Igen, a visszatérési érték típusa:"

Példa egy olyan feladatra, amely nem csinál semmit:
class EmptyJob implements Callable
{
 public String call() throws Exception
 {
  return null;
 }
}

"Helyes. És mi van, ha azt szeretné, hogy a hívási metódus int-et adjon vissza? Mi van akkor?"

"Most már tudom, hogy erre van autobox. Csak átadnék egy egész számot, és minden megy, mint a karikacsapás:"

Példa egy olyan feladatra, amely nem csinál semmit:
class EmptyJob implements Callable
{
 public Integer call() throws Exception
 {
  return null;
 }
}

"Kiváló. És mi van, ha a módszer nem ad vissza semmit?"

– Értem, amit mondasz. Akkor az ürességet használjuk az üresség megfelelőjeként?

"Igen."

"Nem lenne egyszerűbb a visszatérési értéket objektummá tenni, majd nullát adni?"

– Néha, de nem mindig.

"Tudod, hogy tényleg az ürességet akartad visszaadni, amikor az Object-et írtad, de lehet, hogy egy másik programozó ezt nem tudja, és azt fogja gondolni, miért adsz vissza nullát."

"Vagy a metódust hívó kód visszatérési értéket vár."

"De amikor az ürességet írod, akkor mindenki azonnal megérti, hogy ez az üresség burkolója, pedig akkor is nullát kell visszaadnod."

Példa egy olyan feladatra, amely nem csinál semmit:
class EmptyJob implements Callable
{
 public Void call() throws Exception
 {
  return null;
 }
}

"Hmm. Igazad van. Az a metódus, amely mindig nullát ad vissza, kérdéseket vet fel. De az üresnek nyilvánított metódus megteheti ezt további magyarázat nélkül."

"A kód olvashatósága az első. Szeretem a Java-t!"

"Remek. Örülök, hogy tetszik. Mára végeztünk."

Hozzászólások
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION