Extrair tipos de um Object (RESOLVIDO)

Olá pessoal boa tarde, estou fazendo uma aplicação que extrai dados de uma tabela xls e coloca em uma Arraylist, até ai tudo bem estou conseguindo fazer utilizando a biblioteca POI, mas me apareceu um problema.
Tenho que criar um objeto de cada linnha da tabela, como disse acima consigo pegar o elemento e gravar em uma Arraylist sem tipo definido:
ArrayList listaCamlistaCamposEquipamento
consigo teverminar o tipo que existe na celula com o objeto Cell e o seus metodos:

listaCamposEquipamento.add(cell.getRichStringCellValue();) listaCamposEquipamento.add(cell.getDateCellValue()); listaCamposEquipamento.add(cell.getNumericCellValue());

Mas esses valores são inseridos como objets, depois que faço a extra;cão dos dados tenho que inserir na minha entidade e é aqui que esta o problema: Equipamento equipamento = new Equipamento(); equipamento.setNumero(listaCamposEquipamento.get(0));
Da erro por que a variavel numero da classe Equipamento é int e o valor da posição 0 da listaCamposEquipamento é um Object.
como eu faço para extrair uma String , int ou date de um Object? Tentei um String.valueOf ou parse mas não achei.
Agradeço desde já toda a ajuda.

Pergunta, você sabe exatamente quais são os tipos de cada posição da List?
Senão, um try/catch nervoso com vários outros encadeados no catch das exceptions de NumberFormatException e etc…

Você pode encadear vários instanceof para testar se é Number, String ou Date.

Mas, pelo que parece, melhor você colocar as coisas em um mapa, já que você, depois, vai usar os setters direto… Ou, se você já sabe que 0 == int, você pode fazer casts:

Equipamento equipamento = new Equipamento(); equipamento.setNumero(((Number)listaCamposEquipamento.get(0)).intValue());

Isso tira seu Exception. Mas somente se você fez cell.getNumericCellValue()!

Você pode fazer também com toString() e Expressões Regulares, mas aí é complicar…

Ola, cara…
Está usando DefaultTableModel certo? e precisa inserir/extrair objetos?
para isto eu meio que condeno o DefaultTableModel…
Dê uma pesquisada sobre ObjectTableModel. Dependendo do tamanho de sua aplicação isso facilitará sua vida.
Pode usar este abaixo no link ou criar o seu próprio…

http://markytechs.wordpress.com/2009/05/29/objecttablemodel/

A tabela parece ser um XLS, pelo primeiro post…

[quote=leo.andven]Você pode encadear vários instanceof para testar se é Number, String ou Date.

Mas, pelo que parece, melhor você colocar as coisas em um mapa, já que você, depois, vai usar os setters direto… Ou, se você já sabe que 0 == int, você pode fazer casts:

Equipamento equipamento = new Equipamento(); equipamento.setNumero(((Number)listaCamposEquipamento.get(0)).intValue());

Isso tira seu Exception. Mas somente se você fez cell.getNumericCellValue()!

Você pode fazer também com toString() e Expressões Regulares, mas aí é complicar…[/quote]
Resolvido, tive que tirar a ArrayList e usar o objeto Equipamento direto, fazendo um Switch-Case verificando o indice da coluna da celula, como sabia qual era o tipo do dado eu simplesmente inseria com

switch (coluna){
    case 0:
    equipamento.setNumero(cell.getNumericCellValue());
    break;
case 1:
    equipamento.setString(cell.getRichStringCellValue().toString);
    break;
}

[quote=drsmachado]Pergunta, você sabe exatamente quais são os tipos de cada posição da List?
Senão, um try/catch nervoso com vários outros encadeados no catch das exceptions de NumberFormatException e etc…[/quote]
no caso fiz um CASE nervoso com todas as colunas da minha tabela

Sim é uma tabela.xls