Das Erste falls du einen Typ hast, der größer als der Zieltyp ist oder anders die Gefahr eines Verlustes entsteht. (double -> int z. B.), das 2. falls du einen String hast, den du zu einer Zahl machen willst. (Wobei das eigendlich nur ohne weiteres bei Ganzzahlen verwendbar ist, da Gleitkommazahlen in jeden Land anders dargestellt werden. Da gibt es Dinge wie z. B. DecimalFormat.)