(byte)Integer.parseInt should be in every way equivalent to Byte.parseByte...
No; parseByte() will throw an NFE if the number is too big, but the cast will simply truncate the high 24 bits. This is probably where the problem lies, since he said parseByte() doesn't work, when that's clearly what he should be using.