Java 文字の追加: Int または Char の結果?
Java で 2 つの文字 ('a' 'b') を追加すると、結果が int (195) であることは驚くべきことのように思えます。これは、Java のバイナリ数値プロモーション ルールによるものです。
バイナリ数値プロモーション
Java 言語仕様によると、Java char、short、または bytes を追加すると、結果はint に昇格されます。これは、より小さいデータ型を扱う際の精度の損失を避けるように設計されています。
特殊なケース: 複合代入
ただし、次のような複合代入演算子には例外があります。 =。この場合、演算の結果は左側の変数の型に変換されます。
結果の型の決定
結果の型を決定する 1 つの方法結果は、それを Object にキャストし、そのクラスをチェックします:
System.out.println(((Object)('a' + 'b')).getClass()); // Outputs: class java.lang.Integer
Char連結
文字を int ではなく String として連結する場合は、次のようなさまざまな方法があります。
'a' + "" + 'b'
"" + 'a' + 'b'
new StringBuilder().append('a').append('b').toString() String.format("%c%c", 'a', 'b')
以上が2 つの Java 文字を加算すると整数が得られるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。