ホームページ > Java > &#&チュートリアル > Java で Int を Char に変換すると空の出力が返されるのはなぜですか?

Java で Int を Char に変換すると空の出力が返されるのはなぜですか?

Linda Hamilton
リリース: 2024-11-10 13:18:03
オリジナル
701 人が閲覧しました

Why Does Converting an Int to a Char in Java Return an Empty Output?

文字変換の詳細: Java での Int から Char へ

Java でデータを操作する場合、プリミティブ データ型間の変換が次のように行われるシナリオがよく発生します。必要。このようなシナリオの 1 つは、整数 (int) を文字 (char) に変換することです。これらの変換は簡単に見えるかもしれませんが、細心の注意を払って取り組まないと、予期しない結果が生じる可能性があります。

次の Java コード スニペットを考えてみましょう:

int a = 1;
char b = (char) a;
System.out.println(b);
ログイン後にコピー

このコードを実行すると、驚くかもしれません。予期される文字「1」の代わりに空の出力を見つけます。なぜこのようなことが起こるのかを理解するには、この変換の内部動作を詳しく調べることが重要です。

int を char にキャストするとき、Java は int を Unicode コード ポイントとして扱います。上の例では、int 1 には Unicode コード ポイント 1 があり、これは「見出しの開始」制御文字に対応します。この文字は印刷できないため、空の出力が生成されます。

この問題を解決して期待される文字 '1' を取得するには、int をコード ポイントではなく数値として扱う必要があります。これを実現する方法は次のとおりです。

int a = '1';
char b = (char) a;
System.out.println(b);
ログイン後にコピー

このスニペットでは、「1」を一重引用符で囲むことで、それを文字として指定しています。この文字の値は 49、つまり「1」の Unicode コード ポイントです。この文字を char に正しくキャストすると、目的の出力が生成されます。

さらに、次のメソッドを使用して int を char に変換することもできます:

  • Integer.valueOf(int) .charValue(): int の char 表現を返します。
  • Character.forDigit(int, int radix): int を、指定された基数に対応する数字を表す char に変換します (たとえば、10 進数の場合は 10)。
  • Character.toChars(int codePoint): の Unicode コード ポイントを表す文字配列を返します。 int.

これらのテクニックを理解することで、Java で int と char の間で効果的に変換し、正確な変換を行うことができます。変換を促進し、予期しない結果を回避します。

以上がJava で Int を Char に変換すると空の出力が返されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート