You need to enable JavaScript to run this app. Kotlin 中如何将从 strings.xml 获取的字符串转换为全大写格式
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin 中如何将从 strings.xml 获取的字符串转换为全大写格式

实现字符串全大写的方案
  • 直接使用Kotlin原生的字符串转换能力即可完成需求,不需要额外引入第三方库。
  • 对现有代码的修改非常简单,在从资源文件读取字符串后,直接调用全大写转换方法就行,改造后的代码如下:
import java.util.Locale

// 读取资源字符串时同步完成全大写转换
val playerString = getString(R.string.player).uppercase(Locale.getDefault())
val monsterString = getString(R.string.monster).uppercase(Locale.getDefault())

// 原有Toast的拼接和展示逻辑不需要调整
val playerHitMonster = Toast.makeText(
    this,
    "$playerString HIT $monsterString FOR $playerDam!",
    Toast.LENGTH_SHORT
)
playerHitMonster.show()
  • 实操注意点:
    • 旧版Kotlin中无参数的toUpperCase()方法已被标记废弃,替换为uppercase()方法的兼容性和长期可维护性更好
    • 调用转换方法时必须传入Locale.getDefault()参数,不要使用无参重载:无参方法默认使用内置固定语言环境,在土耳其语这类特殊语言环境下会出现字符转换偏差(比如小写"i"会被转为带点的特殊大写字符,不符合预期),传入设备默认语言环境可以彻底规避这类边缘问题
  • 复用优化:如果项目中多处需要读取大写格式的资源字符串,可以封装一个Context扩展方法减少重复代码:
fun Context.getUpperResString(resId: Int): String {
    return getString(resId).uppercase(Locale.getDefault())
}

// 调用时可以简写
val playerString = getUpperResString(R.string.player)
val monsterString = getUpperResString(R.string.monster)

内容的提问来源于stack exchange,提问作者Miles Morales

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.23 22:06:02