* fix cast miss about Int and Long
* use Iterator rather than Array