• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

question about NullPointerExceptions

 
luc comeau
Ranch Hand
Posts: 97
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
hey, i feel like i should already know the answer to this question, but i'll ask anyways.First to let you know my situation.I am generating alot of random data for statistical purposes in an experiment, i first tested my code with a few iterations and it seemed to work fine, i ran it over the weekend, and i came back today and found that after 1500 or so iterations i got a null pointer exception, which i cant exactly reproduce since i didn't do any println statements during the tests to minimize the output.

Ok so this is the section of code where i got the null pointer:

-offers is just an array of strings, pref.getSet() returns a string.

now i realize i could have shortened those few lines so that i didnt have to define str and prefstr on different lines, i could have did it in the if statement itself, but this is where i get confused.

??Now im not sure but since i was getting the null pointer in the if statement line i assume that str or prefstr was the null pointer, but shouldnt it have given me the null pointer error back on the line where i defined str, or prefstr, instead of at the if?

??Second, i don't see how its possible to even have goten a null pointer here since the for loops only access the length-1 elements in both arrays.

I'll just throw this out there for now, and see if someone can answer those questions, or maybe atleast ask me for more info if you need it to help answer it.Any help on this would be greatly appreciated, especially since i was counting on the results being done for today soi could interpret them today
thanks so much
-Luc
 
Keith Lynn
Ranch Hand
Posts: 2409
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
My guess is that certain locations in your array offers are null. Remember than when an array of object references are created, each is initially set to null. Is it possible that you didn't set some of the positions to Strings?
 
Ernest Friedman-Hill
author and iconoclast
Marshal
Pie
Posts: 24208
35
Chrome Eclipse IDE Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If that is indeed the line where you get the NPE, then the only possible conclusion is that offers[ i] is null for some value of i. There's no mystery there -- if that were the case, then that's exactly what the symptom would be.
 
luc comeau
Ranch Hand
Posts: 97
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
i agree that one of the offers[i] must be null, i just did a test to check out when u get a null pointer: either null.equals(string) or string.equals(null), and i got the null pointer at the prior, thus is must be a null offer.which i find extremly hard to believe.This is where i generate the offers array.



Ok so i see now thats where i could be getting the problem, god i hope its that simple, but ill never know unless i run another 6 hour test and it actually completes

It helps to put your thoughts out, i guess i'll try running another test, and see if that fixes the problem.Thanks for the tips though guys!

-Luc
 
Keith Lynn
Ranch Hand
Posts: 2409
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
An immediate fix would be something like this.



Short-circuit evaluation would keep the method from being called if either is null. This will keep the NullPointerException from happening until you have time to figure out why one of them is null.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic