なぜint i = 2147483647 + 1;問題byte b = 127 + 1;ないのですが、コンパイルできませんか?
byte署名されていないのではなく、署名されているのは間違いなく設計ミスです。
byte、パラメータなどでわかりやすくするためにJava を使用します。その場合、int値を割り当てることができないという事実は、いくつかのバグを捕らえることさえあります。またはbyte、配列のスペースを節約するために使用します。byteたまたまバイトに収まる単一の値には使用しません。
byteデータ型がそんなに苦痛なのでしょうか。