3

私には3つの選択肢があります:

  1. 宣言し、後で使用double memberをパスする必要がある場合。Stringmember + ""
  2. 宣言し、後で使用double memberをパスする必要がある場合。StringDouble.toString(member)
  3. 宣言し、後で使用Double member = 0.0をパスする必要がある場合。Stringmember.toString()

私の意見:

  1. 最短のもの。ただし、member + ""に変換されますがnew StringBuilder().append(member).append("").toString()、これはエレガントではないようです。
  2. 私はそれが最も重要なDouble.toString(member)単語から始まらないのが好きではありません。member変換するだけです。member私は単語の最初に最も注意を払っているので、最初にある方が良いです。一目見ただけで、「ああ、私はメンバーを通過しています」とわかります。そして、Double.toString(member)私の最初の集中は「ああ、わかりました...ダブル、私たちはメンバーのtoString ...をやっています!ああわかりました」に行きます。
  3. member.toString()Eclipseのオートコンプリートにより、見た目は問題なく、+""よりも高速に入力できます。ただし、オブジェクトはプリミティブよりもはるかに低速です。参照。

最良の選択肢は何ですか?多分他のいくつかのオプションがありますか?

4

1 に答える 1

5

何にでも機能する最善のオールラウンドなアプローチは次のとおりです。

String s = String.valueOf(x);

xこれは、プリミティブまたはオブジェクトである可能性があり、(重要なことに)である可能性がありますnull

編集:
hackaliciuosの方法は次のとおりです。

X + "";

これはあまり効率的ではないことに注意してください。これは、次のようにコンパイルされるためです。

new StringBuilder().append(x).append("").toString();

そして、とにかくを.append(x)呼び出すための呼び出し。String.valueOf(x)


アレイには特別な処理が必要であることに注意してください。

String s = Arrays.toString(array);
于 2013-02-23T22:57:18.337 に答える