Sto utilizzando un HashMap<Int, Int>
in Kotlin e quando I get
il tipo restituito è Int?
.In Kotlin Come posso convertire un Int? a un numero
Come posso convertire lo Int?
in uno Int
?
Finora ho provato a utilizzare Int?.toInt()
, ma questo sembra restituire un Int?
.
che sto scrivendo una funzione di Fibonacci, e il mio codice è simile:
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
}
}
ci sono risposte più recenti che sono in corso per Kotlin. –
Questa domanda ha ora una risposta più attuale e completa: http://stackoverflow.com/questions/34498562 Dopo che la domanda ha accettato risposta e voti, questo dovrebbe essere chiuso come duplicato di quello. In meta.stackexchange.com un modo consigliato per modernizzare le domande e le risposte è crearne uno nuovo, quindi chiudere il vecchio aggiungendo un riferimento al nuovo. –