Intereting Posts

Почему Kotlin не реализует Int.plus (значение: String)?

Это вызывает дискомфорт, когда вы можете это сделать:

val string = " abc " val integer = 8 val result = string + integer 

и не может сделать:

 val result = integer + string 

У него есть скрытый смысл или это упущение?

Solutions Collecting From Web of "Почему Kotlin не реализует Int.plus (значение: String)?"

Kotlin – это статический типизированный язык, и в основном вы не можете добавить String в Integer. Но есть возможность перегрузить операторов, поэтому мы можем сейчас.

В случае, если мы хотим добавить любой объект в строку, ясно: каждый объект может быть неявно преобразован в String ( Any#toString() )

Но в случае Int + smthg это не так понятно, так что только Int + kotlin.Number определяется в стандартной библиотеке.

Я предлагаю использовать интерполяцию строк:

 val result = "${integer}${string}" 

Или определите собственный перегруженный плюс оператор:

 operator fun Int.plus(string: String): String = string + this