Integer.parseInt vs Integer.valueOf Posted on 2020-05-29 Edited on 2024-07-03 In Java Views: Disqus: Symbols count in article: 705 Reading time ≈ 1 mins.Integer.parseInt vs Integer.valueOf在Java需要將String轉整數有兩個方法可以使用,這裡將介紹兩者的不同與使用時機。Integer.parseInt1234public static int parseInt(String s) throws NumberFormatException { return parseInt(s,10); }Integer.parseInt return intInteger.valueOf1234567public static Integer valueOf(String s) throws NumberFormatException { return Integer.valueOf(parseInt(s, 10)); }Integer.valueOf return Integerpublic static Integer valueOf(int i) { if (i >= IntegerCache.low && i <= IntegerCache.high) return IntegerCache.cache[i + (-IntegerCache.low)]; return new Integer(i); }當 i 在 -128 ~ 127 之間會用cache中取得Integer,若不在該範圍會new Integer(i)。使用時機123如果需要int,使用Integer.parseInt()方法。如果需要Integer,使用Integer.valueOf()方法。同樣Integer、Long、Double和Float都是一樣的道理。