On line 1 Object j = l.get(x); // Line 1 the "get" should return an object of type String, you can nicely assign this to a variable of type Object. At runtime, the object returned is not a String but the Integer-object 123. This can also be assigned to an Object without problems.
In line 2 however System.out.println(l.get(x).getClass().getName()); at runtime you will also get the same 123 Integer object back, and again a String is expected. But this time the Integer-object is not assigned to an Object variable but to a String variable. This must happen somewhere in the getClass-method. And then the cast fails and you have the exception. I don't know what happens exactly in the getClass() - method. It is native.
By the way, the getName() should not be the problem, the exception comes also when you delete that part.
all events occur in real time
Joined: Aug 25, 2006
Howdy "Vitor Hugo" !
Thanks for one of your first contributions to this forum and...
Welcome to the Ranch!
Hope you'll enjoy.
Only one small issue: The Java Ranch follows a certain policy regarding user names. The main reasons why and a link how to change yours you'll find here: http://www.javaranch.com/name.jsp
So, could you please change your user name before your next posting? It will not affect anything you've already posted here. Just your user name will update.
I'm posting this because I am one of the moderators of this forum.