プリミティブ型の扱いって?

intをcharにcastしたかったのだけど、おこられた。
c = (Character)i
としなければいけないらしい。
int i = 0
としてもおこられる。Groovyの中ではすべてがオブジェクトの型で扱われるのか?と思いきや、
c = {int x | println x}
というようにクロージャーを使うときプリミティブ型を宣言してもかまわないようだ。
そういうものなのだろうか。