我想如果我运行这个
System.out.println("toUpperCase() on empty String:"+ "".toUpperCase());
它返回一个空字符串。这怎么可能?在这种情况下 toUpperCase() 应该失败不是吗?谢谢!
我想如果我运行这个
System.out.println("toUpperCase() on empty String:"+ "".toUpperCase());
它返回一个空字符串。这怎么可能?在这种情况下 toUpperCase() 应该失败不是吗?谢谢!
为什么会失败?它将输入字符串的任何字符转换为大写。在您的示例中,“任何字符”相当于 0 个字符。
Javadoc 并没有说它应该为空字符串失败,这意味着它不应该失败:
使用默认语言环境的规则将此字符串中的所有字符转换为大写。此方法等效于 toUpperCase(Locale.getDefault())。
注意:此方法对语言环境敏感,如果用于旨在独立解释语言环境的字符串,可能会产生意外结果。示例是编程语言标识符、协议键和 HTML 标记。例如,土耳其语言环境中的 "title".toUpperCase() 返回 "T\u0130TLE",其中 '\u0130' 是 LATIN CAPITAL LETTER I WITH DOT ABOVE 字符。要获得不区分区域设置的字符串的正确结果,请使用 toUpperCase(Locale.ENGLISH)。
返回:转换为大写的字符串。
空字符串不为空,因此,您可以在其上调用所有 String 方法。