En fait, valueOf
utilise parseInt
en interne. La différence est - parseInt
renvoie un int
primitives tout en valueOf
renvoie un Integer
objet. Envisager de l'Integer.class source:
public static int parseInt(String s) throws NumberFormatException {
return parseInt(s,10);
}
public static Integer valueOf(String s, int radix) throws NumberFormatException {
return Integer.valueOf(parseInt(s,radix));
}
public static Integer valueOf(String s) throws NumberFormatException {
return Integer.valueOf(parseInt(s, 10));
}
Comme pour l'analyse avec une virgule, je ne suis pas familier avec. Je les désinfecter.
int million = Integer.parseInt("1,000,000".replace(",",""));