当前位置: 首页 > 面试题库 >

为什么Java Character.toUpperCase / toLowerCase没有像String.toUpperCase /toLowerCase这样的Locale参数

吴高峰
2023-03-14
问题内容

我想知道为什么Character.toUpperCase/toLowerCase没有像这样的Locale参数String.toUpperCase/toLowerCase

我必须首先将任何语言的文本大写。我有2个解决方案

  1. Character.toUpperCase
        String text = "stack overflow";
    StringBuilder sb = new StringBuilder(text);   

    sb.setCharAt(0, Character.toUpperCase(sb.charAt(0))); // No Locale parameter here.

    String out = sb.toString(); //Out: Stack overflow
  1. String.toUpperCase
        Locale myLocale = new Locale(locateId);

    String text = "stack overflow";
    String text1 = text.substring(0,1).toUpperCase(myLocale );
    String text2 = text.substring(1);

    String out = text1 + text2; // Out: Stack overflow

对于我的语言环境。两种方式具有相同的结果。

我的问题是:

  • 由于文本可以是任何语言。我应该使用哪种方式?

  • 为什么Character.toUpperCase/toLowerCase没有Locale参数Character.toUpperCase/toLowerCaseString.toUpperCase/toLowerCase因为String 之间没有太多区别,并且String是字符数组。


问题答案:

Character#toUpperCase(int)Javadoc中,

通常,String.toUpperCase()应将字符映射为大写。String案例映射方法比Character案例映射方法具有多个优点。String大小写映射方法可以执行区域设置敏感的映射,上下文敏感的映射和1:M字符映射,而Character大小写映射方法则不能。

因此,答案是您的 第二个 示例(String.toUpperCase



 类似资料:
  • 描述 (Description) 该方法有两种变体。 第一个变量使用给定Locale的规则将此String中的所有字符转换为小写。 这相当于调用toLowerCase(Locale.getDefault())。 第二个变体将locale作为在转换为小写时使用的参数。 语法 (Syntax) 以下是此方法的语法 - public String toLowerCase(Locale locale)

  • toLowerCase 方法 把字符串转换为小写。 语法: stringObject.toLowerCase(); 返回值: 一个新的字符串,在其中 stringObject 的所有大写字符全部被转换为了小写字符。 示例: var Str = "Hello KILLHAPPY"; console.log( Str.toLowerCase() ); 结果: >>> hell

  • 此方法返回转换为小写的调用字符串值。 语法 (Syntax) string.toLowerCase( ) 返回值 (Return Value) 返回转换为小写的调用字符串值。 例子 (Example) var str = "Apples are round, and Apples are Juicy."; console.log(str.toLowerCase( )) 输出 (Ou

  • 通过将给定字符串中的所有字符转换为小写字母来返回新字符串。 语法 (Syntax) String.toLowerCase() 返回值 (Return Type) 返回一个字符串。 例子 (Example) void main() { String uStr = "ABC"; String lStr = "hello"; print(uStr.toLowerCase());

  • 将此String中的所有字符转换为小写。 语法 (Syntax) String toLowerCase() 参数 (Parameters) 没有 返回值 (Return Value) 小写的修改后的字符串。 以下是此方法的使用示例 - class Example { static void main(String[] args) { String a = "HelloWor

  • 描述 (Description) 该方法返回指定char值的小写形式。 语法 (Syntax) char toLowerCase(char ch) 参数 (Parameters) 这是参数的细节 - ch - 原始字符类型。 返回值 (Return Value) 此方法返回指定char值的小写形式。 例子 (Example) public class Test { public stati