为什么 Integer.parseInt(String str) returns int 而不是 Java 中的 Integer?

Why is Integer.parseInt(String str) returns int instead of Integer in Java?

我问这个问题是因为我有以下两种方法:

public T get(Serializable id) and
public T get(int id) 

我在大多数情况下必须使用第一种方法,而第二种方法在我们的系统中已经被弃用了。

我的输入是字符串,所以每次我需要调用 get(Serializable id) ,我必须传递 Integer 而不是 int,否则它将使用不推荐使用的第二种方法。即我必须调用 Integer.parseInt(str) 然后我必须将它 Box 为整数(即​​ (Integer)Integer.parseInt(str)),这似乎是多余的。

有没有更好的方法来实现,为什么实现的是Integer.parseInt(str) return int而不是Integer?

why is the implementation of Integer.parseInt(str) return int instead of Integer?

因为 Integer.parseInt 被设计为 return int 并且这是它的 return 类型。

Is there a better way to do this...

如果你想得到 Integer 而不是 int 使用 Integer.valueOf.