So one question I have is how does a Stack deal with the Object it receives? I was under the false impression that the number character from the String I was extracting and placing into the Stack as a Character would return as that number when I cast to an Integer on the way out. Now a Boolean I think I can figure out, however what is the difference between a String of "1" that I place into a Stack as String, vs. a Character vs. an Integer?
A Stack is just a Vector with push, pop, etc. added behavior. Vectors, like all Collections, just maintain a collection (list, set) of object references. A Character, as you have surmized, cast to an int, (int) Character.charValue(), returns the unicode value of the Character. The state of a String is an immutable group of unicode characters, a Character's state is a single immutable unicode character and an Integer's state an immutable 32 bit integer.
A second question is in regards to the operator. How should I deal with a +,-,*,/? Should that be taken from the String and cast down to a char in order to do the calculation once the operands are cast down to ints? In addition, are their any nuances regardings the "+" in this situation possibly concatanating as opposed to adding?
I think I would use Integer for the digits, utilizing the Integer(String) constructor just before pushing onto the stack. That way, instead of pushing 1, 2, 3, you could push new Integer("123"). You can use either String or Charactor for the operators. Since you are presumably doing the math there should be no ambiguity in the meaning of the operators.