Я использую HashMap<Int, Int>
в Котлине, и когда я вернусь, возвращается тип Int?
.В Котлине Как преобразовать Int? к Int
Как можно преобразовать Int?
в Int
?
До сих пор я пытался использовать Int?.toInt()
, но это, кажется, возвращает Int?
.
Я пишу функцию Фибоначчи, и мой код выглядит следующим образом:
val fibMemo : Map<Int, Int> = HashMap<Int,Int>()
fun fibN(n:Int) : Int {
if (n == 0 || n == 1) return 1
if (fibMemo.containsKey(n))
// Error here: Type mismatch: inferred type is Int? but Int was expected
return fibMemo.get(n)?.toInt()
else {
val newNum : Int = fibN(n-1) + fibN(n-2)
fibMemo.put(n, newNum)
return newNum
}
}
Есть более новые ответы, которые являются текущими для Kotlin. –
Этот вопрос сейчас ответил больше и больше: http://stackoverflow.com/questions/34498562 После того, как этот вопрос принял ответ и голосует, его следует закрыть как дубликат. В meta.stackexchange.com рекомендуемым способом модернизации вопросов и ответов является создание нового, а затем закрытие старого при добавлении ссылки на новое. –