Integer.parseInt("10101010101010101010101010101010", 2);
Note that this would be 2863311530, which would cause an overflow, as it is above Integer.MAX_VALUE.
System.out.print(0b10101010101010101010101010101010);
This however uses the internal representation of an integer, which is two-complement form. Thats why it is negative. The Integer.parseInt()
however treats it as an unsigned binary number, which causes the Exception.
It is important to understand the different bit representations.
Edit: If you want your input to be interpreted as two-complement, use this:
Integer.parseUnsignedInt("10101010101010101010101010101010", 2);