Компилятор Kotlin преобразует строковые литералы в цепочку StringBuilder
во время компиляции:
// code in Kotlin
val k = "The WiFi status is ${myObject.status},the name of WiFi is ${myObject.name} \n"
// is converted into equivalent of code in Java
String k = new StringBuilder("The WiFi status is ").append(myObject.getStatus()).append(",the name of WiFi is ").append(myObject.getName()).append(" \n");
Если вы загружаете ресурсы, конвертация не производится, она используется как есть. Однако вы можете использовать форматируемый строковый ресурс :
<string name="DetailsOfWiFiDef">The WiFi status is %1$s,
the name of WiFi is %2$s\n\n
</string>
Затем вставьте аргументы при чтении строки (Android Studio даже исправит вас, если вы предоставите слишком много аргументов или неверный тип в реальном времени):
val s=mContext.getString(R.string.DetailsOfWiFiDef, myObject.status, myObject.name)