title: Why Java Character.toUpperCase/toLowerCase has no Locale parameter like String.toUpperCase/toLowerCase
body: <p>I am wondering that why <code>Character.toUpperCase/toLowerCase</code> has no Locale parameter like <code>String.toUpperCase/toLowerCase</code>.</p>
  
  <p>I have to first uppercase of a text that can be in Any language. I have 2 solutions:</p>
  
  <ol>
  <li><p><strong>Use <code>Character.toUpperCase</code></strong></p>
  
  <pre><code>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
  </code></pre></li>
  <li><p><strong>Use <code>String.toUpperCase</code></strong></p>
  
  <pre><code>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
  </code></pre></li>
  </ol>
  
  <p>For my Locale. Both way has the same result.</p>
  
  <p><strong>My question is:</strong></p>
  
  <ul>
  <li><p>Since the text can be in any language. Which way should I use?</p></li>
  <li><p>Why <code>Character.toUpperCase/toLowerCase</code> has no Locale parameter because there is not much difference between <code>Character.toUpperCase/toLowerCase</code> and <code>String.toUpperCase/toLowerCase</code> because String is array of Characters.</p></li>
  </ul>