0

私は多くの場所で Java コードを見てきましたが、人々はプリミティブ int と char の間でキャストする傾向があります。

これは必要ですか?それらは暗黙的に変換されていませんか。
たとえば、私はこれを試してみましたが、まさに私がすべきものを手に入れました。それでは、なぜ人々は明示的にキャストするのでしょうか? 何か不足していますか?

char a = 'a';
int index = (int) a;
index = 98;
a = 98;
System.out.println(index);
System.out.println(a);
4

2 に答える 2

9

明確にするためにキャストすることもあれば、過負荷の理由でキャストすることもあれば、無知の理由でキャストすることもあります。

例えば:

System.out.println((int) a);

とは異なる働きをします

System.out.println(a);

オーバーロード解決のため。しかし、あなたが与えた正確なコードでは、それは絶対に必要ではありません. 特定の開発者が冗長なコードを書くことを選択した理由を正確に知りたい場合は、彼らに尋ねる必要があります...

于 2012-10-20T19:32:17.377 に答える
0

この場合のキャストはあいまいさを取り除き、コードを読みやすくします。

于 2012-10-20T19:32:10.513 に答える