Android:无法在基元类型 int 上调用 toString()

2022-09-04 05:18:55

如果我尝试

nltxt = nllen.toString();

与存在nllen

int nllen = nl.getLength();

我收到错误

无法在基元类型 int 上调用。toString()

我想将int转换为字符串,以便我可以显示带有Log的条目数...为什么它不起作用?


答案 1

基元没有任何字段或方法。在这种情况下,编译器有时会将您的原语“自动框”到相应的类中。也许这就是您在这种情况下所期望的。有时编译器不会这样做。在这种情况下,它不会自动将其装箱。Integer

您有几种选择:

  1. String.valueOf(nltxt)

  2. "" + nltxt(或者如果你有一些有用的东西要和数字一起写,做"nltxt equals " + nltxt

  3. 手动执行“自动装箱”:。new Integer(nltxt).toString()

  4. 以某种自定义方式设置其格式:String.format("nltxt is %d which is bad%n", nltxt)


答案 2

基元类型不是对象,因此没有任何方法。

要将其转换为字符串,请使用 。String.valueOf(nlTxt)