setText方法中“”的目的是什么?

时间:2013-07-07 21:32:29

标签: android

我对以下代码有疑问:

TextView.setText("" + ((System.currentTimeMillis() - this.startTime) / 1000));

为什么有必要在setText方法中包含“”?

2 个答案:

答案 0 :(得分:2)

setText只接受字符串,但((System.currentTimeMillis() - this.startTime) / 1000)是一个数字。

您总是可以使用toString()或您拥有的任何方法手动转换它,但有时候利用以下事实会更“简单”:当您向字符串添加内容时,第二项隐式转换为字符串。

即,

"a" + 5

将评估为

"a" + "5"

"a5"

类似地,

"" + 5
"" + "5"
"5"

答案 1 :(得分:1)

原因是TextView.setText(int resId)也存在。所以如果你只是调用

TextView.setText((System.currentTimeMillis() - this.startTime) / 1000);

您将不会收到编译时错误,但是在找不到资源时会收到运行时错误。 如果您希望将参数视为String,则必须对其进行转换,一种方法是通过附加到String来强制创建""