int a = (int) + 1.5;
Integer b = (Integer) + 1.5;
前者は
int a = (int) (+ 1.5); // +1.5 (ぷらすいってんご) を int 型にキャスト
となり問題ないが、後者は
Integer b = Integer + 1.5; // いんてじゃーたすいってんご
となり、Integerという名前のフィールドを見つけられないためエラー。
int c = (int) ~ 1;
Integer d = (Integer) ~ 1;
こっちはOK。~という中値演算子がないため。
ヽ(`Д´)ノ