2010-06-12 61 views
13

调用的toString()如果我尝试Android的:不能对基本类型int

nltxt = nllen.toString(); 

nllen

int nllen = nl.getLength(); 

我得到的错误

不能在调用toString()原始类型int。

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

回答

12

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

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

29

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

您有几种选择:

  1. String.valueOf(nltxt)

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

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

  4. 格式i t在一些自定义的方式:String.format("nltxt is %d which is bad%n", nltxt)

+1

不要使用2和3 – 2010-06-12 15:50:44

+0

我可以同意3是有点复杂。但为什么不是2? – aioobe 2010-06-12 21:05:19

+1

aioobe:它不太可读。如果有人正在快速扫描代码,他们可能会错过,你只是想把它转换成强大的。 – Mike 2010-06-13 00:25:05

6

您也可以使用Integer.toString(nllen);为此。

相关问题