私はString.valueOf(int)
がキャッシュを有効にし、余分なオブジェクトを作成しないことがあることを知っていますが、("" + 1)
はコンパイラの最適化を取得していますか?intをStringに変換するにはどのようなメソッドを使用しますか?
どちらを使用する必要がありますか?
EDIT:String.valueOf(int)は、キャッシュを有効にしません。Integer.valueof(int)はキャッシングを有効にします。
私はString.valueOf(int)
がキャッシュを有効にし、余分なオブジェクトを作成しないことがあることを知っていますが、("" + 1)
はコンパイラの最適化を取得していますか?intをStringに変換するにはどのようなメソッドを使用しますか?
どちらを使用する必要がありますか?
EDIT:String.valueOf(int)は、キャッシュを有効にしません。Integer.valueof(int)はキャッシングを有効にします。
"" + 1
私の意見では悪い習慣であり、私が知っている限り、どのような方法でも最適化されていません。
String.valueOf(int)
と貼り付けます。
これらはどちらも同等であり、より個人的な好みの問題です。個人的には、私はString.valueOf(int)を好む。
暗黙のものよりも明示的な変換を選択します。
String.valueOf(int)
は正確に何をしているかを示します。
私はInteger.toString(int)
を使用しますが、これはプリミティブint
のtoString
メソッドとして読んでいるためです。
いいえ、String.valueOf
はキャッシングを実行しません。しかし、あなたがしたいことがあるので、はよりも"" + 1
(キャッシュも実行しません)です。
"" + 1
文字列の連結と空の文字列について、どちらもあなたの目的とは何も関係していません。整数の値を得るにはString
です。
String.valueOf
はあなたがしたいことを正確に示しているので、それを使用してください。
を使用すると、アプリケーションに最適です。
""+i
が最適です。時間とリソースが制限されたデバイスがない限り、時間を節約することはCPU時間のマイクロ秒を節約するよりも貴重です。
さて、私は彼らがこれを既に最適化していると思っていました(私がこれを読んだ場所は確認できません)。 –