"Здравей, Амиго! Имам още една малка и интересна тема за теб. Типът Празнота."
„И защо ви е нужен такъв тип? Искам да кажа, разбирам void: това е за привеждане на функции и proceduresи в съответствие. Ние нямаме proceduresи, но имаме функции, които връщат void (нищо).“
„Да, но помниш ли, че Ели наскоро ти каза за интерфейса Callable?“
— Да.
„И помните ли също Howво трябва да подадете като аргумент за тип?“
„Да, типът на върнатата стойност:“
class EmptyJob implements Callable
{
public String call() throws Exception
{
return null;
}
}
"Точно. И Howво, ако искате методът за извикване да върне int? Какво тогава?"
„Сега знам, че има автоматичен бокс за това. Просто бих предал цяло число и всичко ще върви като по часовник:“
class EmptyJob implements Callable
{
public Integer call() throws Exception
{
return null;
}
}
„Отлично. И Howво ще стане, ако методът не върне нищо?“
„Разбрах мисълта ти. Тогава използваме Void като противоположност на void?“
— Да.
„Не би ли било по-лесно просто да направите върнатата стойност обект и след това да върнете нула?“
— Понякога, но не винаги.
„Знаете, че наистина искахте да върнете void тук, когато написахте Object, но друг програмист може да не знае това и ще помисли защо връщате null.“
„Или codeът, извикващ метода, ще очаква върната стойност.“
„Но когато напишете Void, всички веднага разбират, че това е обвивка за void, въпреки че все още трябва да върнете null.“
class EmptyJob implements Callable
{
public Void call() throws Exception
{
return null;
}
}
"Хм. Прав си. Метод, който винаги връща нула, повдига въпроси. Но методът, деклариран като Void, може да направи това, без да изисква допълнително обяснение."
„Четимостта на codeа е на първо място. Харесвам Java!“
"Страхотно. Радвам се, че ви харесва. Свършихме за днес."
GO TO FULL VERSION