Java:尝试将int值转换为String

Fra*_*lin 1 java string int primitive

在我的方法中,format(int n)我只是尝试将传递的int值作为字符串返回.使用该toString()方法.

public String format(int n) {

    return n.toString();
}
Run Code Online (Sandbox Code Playgroud)

但是,我一直在收到错误int cannot be dereferenced.根据我的理解,这种情况正在发生,因为我将原始的int值视为一个对象,但我不知道如何修复它.我很感激任何帮助.

dav*_*xxx 8

您无法在基元上调用方法.
您可以int选择Integer并调用toString():

return ((Integer)n).toString();
Run Code Online (Sandbox Code Playgroud)

由于自动装箱,你可以通过更换甚至直接改写你的方法intInteger:

public String format(Integer n) {    
    return n.toString();
}
Run Code Online (Sandbox Code Playgroud)

并以这种方式调用它(编译器将int在您Integer传递参数时为您提供框):

int x = ...;
format(x);
Run Code Online (Sandbox Code Playgroud)

但更简单的方法是使用该String.valueOf(int)方法:

public String format(int n) {
    return String.valueOf(n);
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,是否真的需要创建一个只委托的方法String.valueOf()