Avatar ·

Comment utiliser l'opérateur ternaire en Kotlin ? Équivalent de ? : de Java

Bonjour à tous ! Je suis récemment passé de Java à Kotlin et j'ai rencontré un problème. En Java, j'utilisais souvent l'opérateur ternaire pour des affectations conditionnelles courtes, par exemple : ```java int max = (a > b) ? a : b; ``` Mais en Kotlin, je ne trouve pas la même syntaxe. Quand j'écris quelque chose de similaire : ```kotlin val max = (a > b) ? a : b ``` Le compilateur renvoie une erreur. Je comprends qu'en Kotlin, `if` est une expression, mais cela me semble trop verbeux pour des cas simples. Par exemple : ```kotlin val max = if (a > b) a else b ``` Cela fonctionne, mais semble lourd comparé à l'opérateur ternaire de Java. Existe-t-il en Kotlin une manière plus concise ? Peut-être un opérateur `?:` ou quelque chose de similaire ? J'ai aussi entendu parler de `when`, mais je ne suis pas sûr qu'il convienne pour des conditions aussi simples. Je serais reconnaissant pour des exemples de code et des explications. Merci d'avance ! <<>>

Kotlin n'a pas d'opérateur ternaire, mais il y a une meilleure solution

Effectivement, Kotlin n'a pas l'opérateur ternaire classique