Olá.Na tabela de casting mostra que o char é convertido implicitamente para int, float, double. Mas pelo teste que fiz funciona apenas explicitamente. Exemplo:char A='A';System.out.println(int(A));Saída=65;
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá.Na tabela de casting mostra que o char é convertido implicitamente para int, float, double. Mas pelo teste que fiz funciona apenas explicitamente. Exemplo:char A='A';System.out.println(int(A));Saída=65;
Boa noite Charly,
O casting implícito de char para int funciona, dê uma olhada no exemplo abaixo:
class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
char A = 'A';
int B = A; //fazendo casting implícito
System.out.println(B); // saida 65
}
}
A saída 65 é referente ao valor equivalente do caractere A na tabela ASC2. Como A não é um número ele foi convertido para 65.
Abraços
Olá Charly,
na verdade é implícito mesmo. Para saber se é implícito ou não, você pode tentar atribuir essa variável de char em uma variável de int, por exemplo. Se o compilador aceitar a atribuição mesmo sem o cast, então é implícito. Por exemplo, neste código eu não precisei fazer o cast, o código compila e executa:
char caracter = 'A';
int inteiro = caracter;
System.out.println(inteiro);
Agora entendi. Muito obrigado vinicius-mussato e lucas-takeshi.