Estoy usando un HashMap<Int, Int>
en Kotlin y cuando yo get
fuera de él, el tipo de devolución es Int?
.En Kotlin ¿Cómo puedo convertir un int? a un Int
¿Cómo puedo convertir el Int?
en un Int
?
Hasta ahora he intentado usar Int?.toInt()
, pero eso parece devolver un Int?
.
estoy escribiendo una función de Fibonacci, y mi código es el siguiente:
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
}
}
Hay respuestas más recientes que son actuales para Kotlin. –
Esta pregunta ahora está respondida por la más actual y completa: http://stackoverflow.com/questions/34498562 Después de que la pregunta haya aceptado la respuesta y los votos, esta debe cerrarse como duplicada de eso. En meta.stackexchange.com, una forma recomendada de modernizar preguntas y respuestas es crear una nueva, y luego cerrar la anterior al agregar una referencia a la nueva. –