次のコードについて質問があります。
TextView.setText("" + ((System.currentTimeMillis() - this.startTime) / 1000));
setText メソッドに "" を含める必要があるのはなぜですか?
次のコードについて質問があります。
TextView.setText("" + ((System.currentTimeMillis() - this.startTime) / 1000));
setText メソッドに "" を含める必要があるのはなぜですか?
setText
文字列のみを取ります((System.currentTimeMillis() - this.startTime) / 1000)
が、数値です。
常に手動でキャストするtoString()
か、任意のメソッドを使用できますが、文字列に何かを追加すると、2番目の項目が暗黙的に文字列に変換されるという事実を利用する方が「簡単」な場合があります。
あれは、
"a" + 5
に評価されます
"a" + "5"
これは
"a5"
同様に、
"" + 5
"" + "5"
"5"
理由は、TextView.setText(int resId)も存在するためです。したがって、呼び出すだけの場合
TextView.setText((System.currentTimeMillis() - this.startTime) / 1000);
コンパイル時エラーは表示されませんが、リソースが見つからない場合は実行時エラーが表示されます。引数を変換しなければならないものとして扱われることが予想される場合、それを行う 1 つの方法は、に追加して をString
強制的に作成することです。String
""