É possivel pegar o tipo de dado dentro de um ArrayList<Object>?

Ex, se o dado inserido é String, Int, Float, Decimal etc…

Essa eu também vou querer saber :smiley:

List<Object> array = new ArrayList<Object>();
array.add("Teste");
array.add(100);
array.add(10.44);

for (Object o : array) {
    System.out.println(o.getClass());
}

assim?

É possível descobrir o tipo de instância.

if(qualquerObjetos.get(0) instanceof String) System.out.print("é uma String!"); if(qualquerObjetos.get(0) instanceof Integer) System.out.print("é um Integer!!"); . . .

Editado: Do jeito do Brayan é bem mais facil…
Agora se tiver que descobrir o tipo e também proceder de forma diferente para cada tipo de Objeto… aconselho usar o operador instanceof mesmo.

Afinal todos os objetos do java herdam da classe Objetc.

Isso mesmo, mas ele não classifica nenhum tipo como Float?

List<Object> array = new ArrayList<Object>();
	
//Float: O 'f' no final indica que o valor é um float.
array.add(10.44f);
		
//Double: O 'd' no final indica que o valor é um double.
array.add(35.52d);
		
//Double: Quando não estiver explícito se um determinado valor de ponto flutuante for um double ou um float, por padrão ele será um double.
array.add(44.13);
		
		
for (Object o : array) {
	System.out.println(o.getClass());
}

[code]
List array = new ArrayList();

//Float: O ‘f’ no final indica que o valor é um float.
array.add(10.44f);

//Double: O ‘d’ no final indica que o valor é um double.
array.add(35.52d);

//Double: Quando não estiver explícito se um determinado valor de ponto flutuante for um double ou um float, por padrão ele será um double.
array.add(44.13);

for (Object o : array) {
System.out.println(o.getClass());
}
[/code][/quote]

Obrigado Brayan, disso eu não sabia :wink: