Java toString方法区别

Java toString method difference

我现在很喜欢 CodeFights,在我最后一次战斗结束时,我发现了一些有趣的东西。据说这两种情况(我的和对手的)的代码是正确的。这个源码有区别吗:

return Integer.toString(Character.getNumericValue(ch1) + Character.getNumericValue(ch2));

还有这个:

return new Integer(Character.getNumericValue(ch1)+ Character.getNumericValue(ch2)).toString();

我缺少的密钥是什么?

来自 javadoc https://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html

String toString() Returns 表示此 Integer 值的字符串对象。

static String toString(int i) Returns 表示指定整数的字符串对象。

整数的toString方法实现为Integer.toString(value),所以第二个答案只是有一个冗余的实例化。

@Override
public String toString() {
    return Integer.toString(value);
}