Curiosidade com Character

Não sei ainda trabalhaar com os Metodos de String,mas ví um que retorna um char de um determinado indice(se é quepode ser chamado assim).
Antes do boxing,o único jeito de realizar essa operação era encadear um método de string ao toString() com @Override de Character?
Em casa fiz uma maluquice masso funcionava de a a f,era assim…

char c =(char) Integer.parseInt(Character.toString(‘c’),16);

Mas é um tanto,ultra inútil…só o nosso alfabeto tem 26 letras!!
Como isso era feito???
Existe algum metodo em Character que faça isso?

O que exatamente você quer fazer, srta?
O método ao qual você se refere é o String.charAt(index), onde o index representa a posição da qual se deseja obter o caracter.

Fazendo dessa maneira…

char c =(char) Integer.parseInt(Character.toString('c'),16); 

… você está forçando a conversão na base 16, que é a base Hexadecimal… dá uma olhada na documentação que você vai entender…
Por isso que só funciona de A até F… em hexa, é assim:

0 = 0
1 = 1

9 = 9
A = 10 (aqui começa a “maluquice”, rs)
B = 11

F = 15

Se você contar, são 16 numeros (0 ao 15) sendo que os numeros maiores que 10 são representados por letras…

Não sei se isso te ajuda em algo, mas foi só pra explicar o porque do A ao F…

Sim…mas o que eu tava querendo entender é que os metodos que retornam o valor encapsulado só são válidos para wrapper numericos,Boolean tb nao tem um que retorne seu primitivo encapsulado!!
O que queria saber é como era retirado o valor…
Teria que fazer Character.toString(‘c’).charAt(0);
Mas a propria wrapper nao poderia fazer isso?
Usei Character como exemplo,mas tipo…,expanda esta duvida tb para Boolean,que so possui valueOf() e este nao retorna primitivo e sim um novo wraper!!
TOu estudando pra SCJP,se alguem puder falar se nas classe wrapper existem metodos para retornar os primitivos encapsulados…olhar a API pode me confundir um pouco,pq decorar os metodos das classes api exigidas e olhar uns outros me confundiria…
:oops:
Sou meio burrinha =P
Levo horas pra compreender e testar todos os casos possíveis de poucas páginas…tenho 2 meses e só consegui estudar 180 pags do 310-055 de Katy Sierra…,e já tinha pego FJ-11,um pouco de Deitel e na integra Use a cabeça…
Gosto muito de Java,se nao fosse isso ja teria desistido =/
Tenho um pouco de magoa que na minha regiao todo mundo usa DotNet,e eu gosto muito de Java…conheci Java antes de saber como anda o mercado na regiao!!
Enfim,voces tao sendo uns amores comigo,muito obrigado!!São uns fofos…

COnheço a hexa decimal…fiz uma calculadora pra transformar hex,octal e bin em decimal e vice-versa!!
Faço computação beiber,essas coisas bobas minha cabecinha burra consegue captar com facilidade!! :wink:

Cada wrapper possui suas limitações.
O caso do boolean e Boolean são específicos (Afinal, boolean e só pode receber Boolean.TRUE ou Boolean.FALSE).
Você não precisa utilizar Character.toString(‘c’).charAt(0); para obter o primeiro caractere de uma String. O Wrapper faz isso por si só.

String str = "abcde";
char c = str.charAt(4);
System.out.println(c);

A saída será ‘e’;

Ta…tudo bem,SEM o boxing caracter retornou o seu primitivo com o método de String!!
Mas a classe Boolean?Como retornaria o valor encapsulado num primitivo?

A classe Boolean não retorna.
Na verdade, isso não tem a ver com Character ou char, nem com boolean, massssssssssssssssssssssssssss, pura e tão somente, com String e com Boolean.
Ninguém teve a brilhante idéia de colocar um método que desencapsulasse os benditos tipos primitivos dos objetos Boolean.

String str = "true";
boolean b = Boolean.parse(str);
Boolean b2 = Boolean.valueOf(str);


boolean b3 = true;
Boolean b4 = Boolean.valueOf(b3);


Boolean b5 = Boolean.TRUE;
boolean b6 = b5.booleanValue();