Character.toUpperCase în Java

Transformă un singur caracter în literă mare sau în literă mică; celelalte caractere rămân la fel.

Sintaxă
static char toUpperCase(char c)
static char toLowerCase(char c)

Ce face Character.toUpperCase

Character.toUpperCase(c) returnează varianta mare a literei, iar toLowerCase(c) pe cea mică. Un caracter care nu este literă (cifră, spațiu, semn) este returnat neschimbat.

Metodele lucrează pe un singur caracter, fără limbă (Locale). Pentru șiruri întregi folosește String.toUpperCase(), care știe și cazurile în care o literă devine două (de exemplu ß din germană devine SS); varianta pentru un caracter nu poate face asta.

Parametri

Parametru Descriere
c Caracterul transformat.

Ce returnează

Un char: litera transformată sau caracterul inițial.

Exemple

Exemplul 1: Transformări simple

public class Main {
    public static void main(String[] args) {
        System.out.println(Character.toUpperCase('ș'));
        System.out.println(Character.toLowerCase('Ă'));
        System.out.println(Character.toUpperCase('7'));
        System.out.println(Character.toUpperCase('ß'));
        System.out.println("ß".toUpperCase());
    }
}

Rezultat

Ș
ă
7
ß
SS

Exemplul 2: Fiecare cuvânt cu literă mare

public class Main {
    static String titlu(String text) {
        char[] litere = text.toLowerCase().toCharArray();
        boolean inceput = true;
        for (int i = 0; i < litere.length; i++) {
            if (Character.isWhitespace(litere[i]) || litere[i] == '-') {
                inceput = true;
            } else if (inceput) {
                litere[i] = Character.toUpperCase(litere[i]);
                inceput = false;
            }
        }
        return new String(litere);
    }

    public static void main(String[] args) {
        System.out.println(titlu("cluj-napoca"));
        System.out.println(titlu("ȘTEFAN CEL MARE"));
    }
}

Rezultat

Cluj-Napoca
Ștefan Cel Mare

Exemplul 3: Inversarea literelor mari și mici

public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        for (char c : "Ana din Iași".toCharArray()) {
            sb.append(Character.isUpperCase(c) ? Character.toLowerCase(c) : Character.toUpperCase(c));
        }
        System.out.println(sb);
    }
}

Rezultat

aNA DIN iAȘI

Greșeli frecvente

  • Apelezi Character.toUpperCase(c); fără să salvezi rezultatul. Ca la șiruri, metoda returnează valoarea nouă: c = Character.toUpperCase(c);.
  • Transformi un text literă cu literă pentru a-l face cu majuscule. Mai simplu și mai corect: text.toUpperCase().

Comenzi înrudite

  • Character.isUpperCase: Verifică dacă un caracter este literă mare (isUpperCase) sau literă mică (isLowerCase).
  • String.toUpperCase: Returnează un șir nou cu toate literele transformate în majuscule (toUpperCase) sau minuscule (toLowerCase).
  • StringBuilder.charAt: charAt() citește caracterul de la o poziție, setCharAt() îl înlocuiește direct în StringBuilder.
  • Character: Clasa wrapper pentru tipul char, cu metode statice care verifică și transformă caractere (litere, cifre, spații).