我想如果我运行这个
System.out.println("toUpperCase() on empty String:"+ "".toUpperCase());
,它返回一个空字符串。这怎么可能呢?在这种情况下,toUpperCase()应该失败,不是吗?谢谢!
为什么会失败?它将输入String的任何字符转换为大写。在你的例子中,"任意字符"相当于0个字符。
Javadoc没有说对于空字符串应该失败意味着它不应该失败:
使用。将此字符串中的所有字符转换为大写默认语言环境的规则。这个方法等价于toUpperCase (Locale.getDefault())。
注意:这个方法是语言环境敏感的,可能产生意想不到的结果结果,如果用于打算解释区域设置的字符串独立。例如编程语言标识符,协议键和HTML标记。例如,土耳其语中的"title".toUpperCase()locale返回"Tu0130TLE",其中'u0130'是拉丁首都字母I和上面的点。得到正确的结果语言环境不敏感的字符串,使用toUpperCase(locale . english)。
返回:字符串,转换为大写。
空字符串不是null,因此,您可以在其上调用所有string方法。