やな文法

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。~という中値演算子がないため。

ヽ(`Д´)ノ