Integer.getInteger()

Who came up [with this one](http://konigsberg.blogspot.com/2008/04/integergetinteger-are-you-kidding-me.html), seriously? > [getInteger](http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Integer.html#getInteger%28java.lang.String%29)

> public static Integer getInteger(String nm) > Determines the integer value of the system property with the specified name. > The first argument is treated as the name of a system property. System properties are accessible through the `System.getProperty(java.lang.String)` method. The string value of this property is then interpreted as an integer value and an Integer object representing this value is returned. Details of possible numeric formats can be found with the definition of getProperty.

> If there is no property with the specified name, if the specified name is empty or null, or if the property does not have the correct numeric format, then null is returned.

Why the hell would there be a `getInteger()` method on `Integer`, when it is really a wrapper around `System.getProperty()`? Oh, and there's a [Boolean.getBoolean()](http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Boolean.html#getBoolean(java.lang.String)).

And of course, don't confuse those with [Integer.parseInt()](http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Integer.html#parseInt(java.lang.String)) and [Boolean.parseBoolean()](http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Boolean.html#parseBoolean(java.lang.String)).

Anybody knows the rationale?