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

R0b*_*n1k 13 java string android

如果我试试

nltxt = nllen.toString();
Run Code Online (Sandbox Code Playgroud)

nllen存在

int nllen = nl.getLength();
Run Code Online (Sandbox Code Playgroud)

我收到了错误

无法toString()在原始类型int上调用.

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

aio*_*obe 29

基元没有任何字段或方法.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)


Chr*_*ris 12

原始类型不是对象,因此没有任何方法.

将其转换为String使用String.valueOf(nlTxt).


sou*_*rar 6

你也可以用Integer.toString(nllen);它.