в данном случае, это единственный правильный ответ, так как ("500".toInt() as Int?) === 500 - это false "500".toInt() === 500 - это true в приведенном примере используется кейз 1, так что тут имеет значение только имплементация JVM
> On the Java platform, numbers are physically stored as JVM primitive types, unless we need a nullable number reference (e.g. Int?) or generics are involved. In the latter cases numbers are boxed.