Integer.valueOf作用
时间: 2023-11-20 13:05:26 浏览: 34
Integer.valueOf() 方法是将一个字符串转换为整数类型的静态方法。它接收一个字符串参数,然后返回一个 Integer 对象,该对象包含了表示该字符串所表示的整数的值。如果该字符串无法转换为整数,则会抛出 NumberFormatException 异常。此方法的返回值是一个 Integer 类型的对象,而不是一个基本类型的 int。
相关问题
Integer.parseInt与Integer.valueOf
`Integer.parseInt` 和 `Integer.valueOf` 都是将字符串转换为整数类型的方法,但它们之间还是有一些区别的。
`Integer.parseInt` 方法返回一个原始的 int 类型,而 `Integer.valueOf` 方法返回一个 Integer 对象。这意味着,如果你需要将整数值存储在一个对象中,你应该使用 `Integer.valueOf` 方法。
此外,`Integer.parseInt` 方法在解析字符串时,如果字符串不是一个有效的整数,会抛出 `NumberFormatException` 异常,而 `Integer.valueOf` 方法则会返回一个表示字符串的整数值的 Integer 对象,如果字符串不是一个有效的整数,则返回一个包装了 `null` 的 Integer 对象。
最后,`Integer.valueOf` 方法在内部使用缓存池来重用整数对象,这可以提高性能并节省内存。而 `Integer.parseInt` 方法则不做任何缓存。
Integer.valueOf()
`Integer.valueOf()` 方法是一个工厂方法,用于返回一个表示指定 `int` 值的 `Integer` 对象。该方法有两个重载:
1. `public static Integer valueOf(int i)`:返回一个表示指定 `int` 值的 `Integer` 对象。
2. `public static Integer valueOf(String s)`:返回一个保存指定的字符串所表示的值的 `Integer` 对象。
与 `new Integer()` 构造方法不同的是,`Integer.valueOf()` 方法返回的是一个 `Integer` 类型的缓存对象,而不是每次都创建一个新的对象。在范围为 `-128` 到 `127` 的整数值之间,`Integer.valueOf()` 方法返回的是缓存中的对象,超出这个范围的整数值每次都会创建新的对象。这样可以提高性能和节省内存。
例如,下面的代码演示了使用 `Integer.valueOf()` 方法创建 `Integer` 对象的方法:
```java
Integer a = Integer.valueOf(100);
Integer b = Integer.valueOf("200");
```
上面的代码会创建两个 `Integer` 对象,一个表示整数值 `100`,另一个表示整数值 `200`。由于这两个整数值都在缓存范围内,因此 `valueOf()` 方法返回的是缓存中的对象,而不是每次都创建一个新的对象。