Java で整数を文字列に変換する場合、従来のアプローチでは Integer.toString(int) またはString.valueOf(int) メソッド。ただし、次のコード スニペットに見られるように、文字列連結の使用が確認されている独特なアプローチです。
int i = 5; String strI = "" + i;
このような方法は型破りであり、Java の適切なテクニックに関する知識が不足していることを示している可能性があります。この連結方法は機能する場合もありますが、一般的ではありません。
Java がこの連結をどのように処理するかをさらに詳しく調べると、以下に示すように、コンパイラーはそのようなコードを最適化し、一連の文字列追加に変換します。
StringBuilder sb = new StringBuilder(); sb.append(""); sb.append(i); String strI = sb.toString();
このメソッドは StringBuilder.append() とInteger.getChars() を実行しても、依然として望ましい結果が得られます。
以下のバイトコード分析から明らかなように、コンパイラーは空の文字列の連結を最適化しないことに注意することが重要です。
... 9: ldc #4; //String 11: invokevirtual #5; //Method java/lang/StringBuilder.append: (Ljava/lang/String;)Ljava/lang/StringBuilder; ...
これにより、JDK 9 でそのような動作を変更するための提案と継続的な開発が行われました。 したがって、次のような標準的な方法を使用することをお勧めします。 Java で整数を文字列に変換する際の明確さと保守性のために、Integer.toString(int) または String.valueOf(int) を使用します。
以上がJava での整数から文字列への変換における文字列の連結が従来とは異なると考えられるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。