JavaでどのようにDouble
連結できますか?String
私は次のコードを持っています:
Double price = 5.34;
String trade = MSFT;
今私はString key = price + trade
、これがそれを行う正しい方法であるかどうかわからない、何か提案がありますか?
JavaでどのようにDouble
連結できますか?String
私は次のコードを持っています:
Double price = 5.34;
String trade = MSFT;
今私はString key = price + trade
、これがそれを行う正しい方法であるかどうかわからない、何か提案がありますか?
Java文字列の連結は、デフォルトで+
記号を使用して行われます。
ただし、これを行うたびに新しい文字列インスタンスが作成されるため、これが適切でない場合があります。したがって、ループ内にいる場合は、反復ごとにメモリに新しい文字列が作成されます。
したがって、単純なケースでは、+
は完全に有効です。
その他の場合は、StringBuilderを使用する必要があります。
私はおそらくString.format()を使用し、文字列内のdoubleのフォーマットを制御できるようになります。たとえば、先行ゼロ、表示されるdpsの数などを制御できます。
例については、このSOの回答を参照してください。そして、これが基礎となるフォーマッターのドキュメントと標準のチュートリアルです。
String.valueOf(price)
変換に使用できます。だからあなたは持っているだろう
Double price = 5.34;
String trade = MSFT;
String key = String.valueOf(price) + trade;
文字列キー=Double.toString(price)+トレード;
文字列をフォーマットするには-http://docs.oracle.com/javase/6/docs/api/java/text/DecimalFormat.html
使い方の例。
http://www.tech-recipes.com/rx/1326/java-decimal-format-to-easily-create-custom-output/
出力するには、+オペランドを使用します。パフォーマンスを求めている場合、これにより別の文字列が作成されます。文字列ビルダーを使用することもできます-http ://docs.oracle.com/javase/1.5.0/docs/api/java/lang/StringBuilder.html。
toString()を使用してDoubleを変換することもできます。
Double price = 5.34;
String trade = MSFT;
String key = Double.toString(price) + trade;
toSting()メソッドの詳細は次のとおりです。http://docs.oracle.com/javase/7/docs/api/java/lang/Double.html#toString(double )
ただし、StringBufferを使用する方が効率的です。
よろしく、Dekx。
に問題はありませんString key = price + trade
。String.valueOf(price) + trade
を使用するよりもはるかに読みやすくなりStringBuilder
ます。