pq char nao é um objeto.. e sim um primitivo... acho q é isso, ou estou engando?
[]'s
Geraldo
nbluis
Está certo.
tu pode criar um Objeto Character.
Omeganosferatu
Ahh podi cre… pensei nisso tambem, mas como no meu caso é um Array primitivo ja abandonei essa idéia. Fiz com substring mesmo dentro de um laço… Valeu galera
G
geraldobarboza
geraldobarboza:
Bom tou mais confuso do que antes após ler o cap 3 do livro rsrsrs
minha duvida é a seguinte,
no código abaixo é valido:
short s = 7;
mas quando tenho um método que recebe shor, deixa de ser valido eu passar apenas o 7 para ele.. ex:
Todos literais inteiros sao int por padrão, mas pq posso atribuir a uma variavel o 7 e não posso fazer o mesmo em um método?
[]'s
Geraldo
hehehe só pra lembrar q essa ainda nao teve resposta....
[]'s
Omeganosferatu
A explicação exata eu nao sei mas acho que é justamente por padrão ele ser um int. Quando você atribui ele entende que aquilo será um short. Mas quando é passado no método ele o enxerga como int ... se você fizer um cast (short) 7 ... funciona tambem.
Estranho mas faz sentido.
Na verdade, short s = 7; funciona porque excepcionalmente em operações de atribuição, o compilador coloca o cast implicitamente, ou seja… o compilador vai interpretar essa linha como short s = (short) 7;
como você está passando o literal 7 (que, por default, é int) como argumento de um método que espera um short, o compilador não fará essa conversão implicitamente (pois, como falei, isso só acontece na atribuição) e, naturalmente, dá erro de compilação.
[]'s
G
geraldobarboza
RafaelVS:
Na verdade, short s = 7; funciona porque excepcionalmente em operações de atribuição, o compilador coloca o cast implicitamente, ou seja… o compilador vai interpretar essa linha como short s = (short) 7;
como você está passando o literal 7 (que, por default, é int) como argumento de um método que espera um short, o compilador não fará essa conversão implicitamente (pois, como falei, isso só acontece na atribuição) e, naturalmente, dá erro de compilação.
[]'s
hum… agora entendi…
o cast é feito implicitamente apenas nas atribuições… e nos métodos tem que estar explicito…
valew
[]´s
Geraldo Barboza
LPJava
so uma dica seu array, nao é primitivo, ele apenas aceita elementos do tipo primitivo, mas no fundo ele é um objeto… array sempre é um objeto… sei que isso pode ser ridiculo… mas no exame teve uma pegadinha como essa… envolvendo Wrapper misturados com primitivos…
Omeganosferatu
é eu me expressei mal … um array de tipos primitivos … =)…