Double.parseDouble ist schon gut so, du darfst allerdings nicht vergessen, dass _jedes_ Object in einen String verwandelt werden kann, indem du die richtige Methode aufrufst:

Code:
Double.parseDouble(o.toString());
Verhindert auch, dass du ClassCastExceptions bekommst. Ist allerdings immer noch etwas unschön, vielleicht hilfts, wenn du mehr von der Angabe posten würdest, dann gibts vll. einen Trick, der dir da weiterhilft.

Zwecks Punkt 1: Verwendest du JDK1.5? Wenn ja, dann ignorier das. Das ist nur eine Warnung, die dir angibt, dass du bei Stacks, etc. Generics verwenden sollst. Kompilier dein Programm einfach einmal auf dem JDK1.4 Compliance Level (mit -target 1.4, wenn ich mich nicht irre).