You're right - Integers (and ints) are stored in four bytes, and so are limited in size from -(2^31) to 2^31-1. I can't remember exactly what those numbers are but it's around 2 billion I think - so yes, 9 digits at most.
In any case, use longs for a bigger range (-(2^63) to 2^63-1), or consider the
BigInteger class if you truly need no boundaries. You can use the constructor that takes a String parameter to parse into a BigInteger.
Cheers,
--Tim