INT不能转换为java.lang.String

问题描述:

int i = 0; 
String[] b = new String[]{releaseId, i}); 

导致int cannot be converted to java.lang.StringINT不能转换为java.lang.String

据我所知Java没有隐字符串转换(非原语的情况下调用toString())?

那么这里有什么问题?

Android的Java有什么不同吗?

+3

int i = 0; String [] b = new String [] {“”+ releaseId,“”+ i}); –

+2

^请不要那样做 - 那真的不是很好的做法 - 是的,它的作品,但你应该使用'将String.valueOf();' –

+0

@Ed乔治这就是为什么我张贴的评论,而不是回答的原因。你当然是对的。 –

从我所知道的java隐含字符串转换(在 非基元调用toString())?那么这里有什么问题?

这对物体真实的。 int是一个原始类型而不是对象。

使用String.valueOf(i)检索的i

是String表示,

INT不能转换为java.lang.String

的Java做的隐式转换String为对象,而不是对于原始类型。

您需要使用IntegerString.valueOf(i)

有2种“好”的方法将整数转换为字符串。 Integer.toString(i)String.valueOf(i)

有可能做这样的事情,但String s = "" + i;被认为是难闻的气味。