Ola pessoal boa tarde!
Sou novato na linguagem de programação Java e
estava analisando esse codigo abaixo e me surgiu uma duvida!
public static void main(String[] args) {
Object obj = new int[]{1,2,3};
int [] someArray = (int[])obj; // me confirmem por favor para se fazer um "CAST" o obj tem que pssar no teste "É UM"
for (int i : someArray) {
System.out.print(i + " ");
}
}
E meu objeto é do tipo Object porem no tempo de execução ele seria um int? seria por isso que a saida é “1 2 3”
Seu vetor someArray já é um vetor do tipo primitivo int e, ao fazer o for, vc está atribuindo cada elemento desse vetor de inteiros em uma variável tb int (a variável i)…
Ajudei em algo?? Espero q sim, qlquer coisa, avise e tento ser mais detalhista.
Em java tem os objetos e os tipos primitivos (int, long, char, byte, double, float)
A diferença é que quando você cria um int[] você está criando um array, e array em java mesmo sendo de um tipo primitivo, é um objeto. Por isso você pode fazer um cast.
Obrigado Pessoal, no livro as vezes ele descreve de uma forma muito tecnica , porem qdo alguem explica de um modo mais simples ja ajuda muito obrigado a todos!! Vlw