File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

getting ClassCastException when using Iterator for a List.

 
Vishal Hegde
Ranch Hand
Posts: 1077
Java Windows
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator


getting ClassCastException on the line String value=(String)it.next();
 
Matthew Brown
Bartender
Posts: 4549
8
Java Netbeans IDE Scala
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Well, that just means that whatever is in your list, they aren't Strings. Which doesn't surprise me as you're selecting entire rows, not single values. The details of the exception should have told you what they actually are.
 
Winston Gutkowski
Bartender
Pie
Posts: 9472
50
Eclipse IDE Hibernate Ubuntu
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Vishal Hegde wrote:getting ClassCastException on the line String value=(String)it.next();

And quite apart from Matthew's good advice:really isn't much better than:because it doesn't stop your program; and that means that, depending on what you're doing, you could have millions of those messages to plough through.

Until you're ready to publish, or you know that the exception can be recovered from, you're much better off simply letting the program fail - ie, don't use try...catch; or, if you want to avoid throws clauses, simply re-throw the exception as a RuntimeException or java.lang.Error, viz:That way, your program will stop as soon as it hits a problem, and you will always get a stack trace.

Winston
 
Vishal Hegde
Ranch Hand
Posts: 1077
Java Windows
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
But I am type casting it to String ?
 
Winston Gutkowski
Bartender
Pie
Posts: 9472
50
Eclipse IDE Hibernate Ubuntu
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Vishal Hegde wrote:But I am type casting it to String ?

Yes, and the reason that you're getting the error is that, as Matthew said, whatever you're casting is NOT a String.

Winston
 
Ishan Pandya
Ranch Hand
Posts: 225
Java
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Just print out what you are getting on "it.next();" Then according to the output you should cast.
 
Ishan Pandya
Ranch Hand
Posts: 225
Java
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Some another Lazy way..



 
Campbell Ritchie
Sheriff
Pie
Posts: 47250
52
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
That is unnecessary; the toString method is called automatically by println, so you can reduce that toAlso, that code will not fail if the Iterator returns null, as you can find out from the println documentation and this method which it calls.
 
Ishan Pandya
Ranch Hand
Posts: 225
Java
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks man i just forgot about that..
 
Campbell Ritchie
Sheriff
Pie
Posts: 47250
52
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You’re welcome
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic