Java はなぜ unsigned int をサポートしないのでしょうか? 質問する

Java はなぜ unsigned int をサポートしないのでしょうか? 質問する

Java に符号なし整数のサポートが含まれていないのはなぜですか?

これらにより、予想外に大きな入力に対してオーバーフローが発生する可能性が低いコードを記述できるようになるため、これは奇妙な省略であるように思われます。

さらに、符号なし整数を使用すると、符号なし整数が保持することを意図した値が負になることは決してないことを示すため、自己文書化の形式になります。

最後に、場合によっては、除算などの特定の演算では符号なし整数の方が効率的な場合があります。

これらを含めることの欠点は何ですか?

ベストアンサー1

これはゴスリング氏らへのインタビューシンプルさについて:

Gosling: 言語設計者としての私にとって (最近ではあまりそうは思っていませんが)、「シンプル」とは結局、J. Random Developer が仕様を頭の中で把握できるかどうか、ということになりました。その定義によれば、たとえば Java はそうではありません。実際、これらの言語の多くは、多くのコーナー ケース、つまり誰も理解できないものを抱えることになります。C 開発者に unsigned について質問すると、unsigned で何が起こっているのか、unsigned 演算が何なのかを実際に理解している開発者はほとんどいないことがすぐにわかります。このようなことが C を複雑にしていました。Java の言語部分は、かなりシンプルだと思います。調べる必要があるライブラリです。

おすすめ記事