si se puede pero es un poco sucio
public static void main(String[] oscar) {
ArrayList lsi = new ArrayList();
Object string = "unos";
Object init = 123;
Object doble = 12.3;
lsi.add(string);
lsi.add(init);
lsi.add(doble);
for(Iterator iter = lsi.iterator();iter.hasNext();){
Object temp = (Object) iter.next();
if(temp instanceof String){
String st = (String ) temp;
System.out.println("Dato String : "+ st);
}else if (temp instanceof Integer){
Integer it = (Integer) temp;
System.out.println("Dato Integer : "+it);
}else if (temp instanceof Double){
Double lo = (Double) temp;
System.out.println("Dato Double : "+lo);
}else{
System.out.println("Dato Desconosido");
}
}
}