Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Long.getLong() failing, returning null to valid string

I've spent the past two hours debugging what seems extremely unlikely. I've stripped the method of a secondary Android Activity to exactly this:

public void onClick(View v) {         String str = "25";         long my_long = Long.getLong(str); } // onClick (v) 

And yeah, I get a crash with the good ol' NullPointerException:

09-11 02:02:50.444: ERROR/AndroidRuntime(1588): Uncaught handler: thread main exiting due to uncaught exception 09-11 02:02:50.464: ERROR/AndroidRuntime(1588): java.lang.NullPointerException

It looks like (from other tests) that Long.getLong(str) returns NULL, which is driving me bonkers. WHAT AM I MISSING?

Thanks in advance. I'm okay with stupidly missing the obvious, but my sanity is on the line.

like image 327
SMBiggs Avatar asked Sep 11 '11 07:09

SMBiggs


2 Answers

You are missing the fact that Long.getLong(String str) is not supposed to parse a String to a long, but rather to return a long value of a system property represented by that string. As others have suggested, what you actually need is Long.parseLong(String str).

like image 160
MeLight Avatar answered Oct 02 '22 09:10

MeLight


You can use Long.parseLong(String), instead of getLong(String): it will solve the problem.

like image 35
confucius Avatar answered Oct 02 '22 08:10

confucius