Я хотел бы использовать в Kotlin необязательный конструктор, который либо создает объект, либо возвращает ноль.
Вот пример Swift, показывающий, как я бы хотел, чтобы он работал:
class Beer {
init?(yourAge : Int){
if yourAge < 21 {
return nil
}
}
}
Beer(yourAge: 17) //is nil
Beer(yourAge: 23) //a Beer object
Конечно, я мог бы поставить проверку в другой функции (ниже приведен эквивалент Kotlin предыдущего примера), но это не так хорошо
class Beer(){
fun initialize(yourAge : Int): Beer? {
if (yourAge < 21){
return null
}else {
return Beer()
}
}
}