"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:"
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:"
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."
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."
GO TO FULL VERSION