2017-05-06 4 views
2

J'ai récemment rencontré un problème concernant l'opérateur de navigation sécuritaire (?.) et les génériques. Je crois que le code ci-dessus ne devrait pas avoir de problèmes en cours d'exécution, mais il produit l'erreur indiquée ci-dessus. Est-ce que je manque quelque chose?Non-concordance de type Kotlin avec les génériques

+0

Vous pouvez donc affecter une variable de type Any ?, mais pas une variable de type Any. –

+0

@JNBizet alors puis-je être sûr que ce n'est pas nul et juste le jeter? – Mibac

+0

Oui, vous pouvez le faire. Mais je ne comprends pas vraiment pourquoi votre méthode est générique. –

Répondre

1

Je pense que vous avez laissé quelques choses hors de votre exemple pour obtenir cette erreur. Donc je vais deviner et ce que vous essayez vraiment d'accomplir et s'il vous plaît pardonnez-moi si j'ai mal interprété votre intention. Malgré le fait que le bloc passé à let ne s'exécute que si la valeur n'est pas nulle, `it` est toujours de type T à l'intérieur du bloc