In addition to what people said above, parsing is no way related to casting, the Integer. parseInt() is the point of confusion.
That method is supposed to parse the input string for the presence of numbers and return an integer corresponding to the value of the string.
Simply "1234" will return int 1234. Returns an error (throws exception)if input is "123abc".
But this does not mean that the input string is cast to an int, no such cast is possible. Similar behavior can be observed for Wrapper class constructors.
Parsing, simply put is scanning the given string to look for/get known
patterns which are usually substring(s) of the given string.
Eg finding number of occurrences of the string "abc" in "abcdefabcdabc" would require parsing if done by hand.