Gni*_*ruT 2 java string language-concepts
我以为如果我跑这个
System.out.println("toUpperCase() on empty String:"+ "".toUpperCase());
Run Code Online (Sandbox Code Playgroud)
它返回一个空字符串.怎么可能?toUpperCase()在这种情况下应该失败不是吗?谢谢!
它为什么要失败?它将输入String的任何字符转换为大写.在您的示例中,"任何字符"相当于0个字符.
Javadoc没有说它应该为一个空String失败,这意味着它不应该失败:
使用默认语言环境的规则将此String中的所有字符转换为大写.此方法等效于toUpperCase(Locale.getDefault()).
注意:此方法对语言环境敏感,如果用于要独立解释语言环境的字符串,则可能会产生意外结果.示例是编程语言标识符,协议密钥和HTML标记.例如,土耳其语语言环境中的"title".toUpperCase()返回"T\u0130TLE",其中"\ u0130"是带有DOT ABOVE字符的LATIN CAPITAL LETTER I.要获取区域设置不敏感字符串的正确结果,请使用toUpperCase(Locale.ENGLISH).
返回: String,转换为大写.