Java での int から long への変換について質問があります。フロートの場合は問題がないのはなぜですか:
float f = (float)45.45;//compiles no issue.
float f = 45.45f; //compiles no issue.
ただし、長いタイプの場合、問題があるようです:
long l = (long)12213213213;
//with L or l at the end it will work though.
long l = (long)12213213213L;
コンパイラが範囲外の問題によるエラーを通知すると、プログラマが計画した可能性のあるキャストをチェックせずにブロックするようです。
それについてどう思いますか?なぜそのような特定の理由があるのですか?
前もって感謝します。