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;
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.