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.
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)
.
你可以使用Long.parseLong(String)
,而不是getLong(String)
:它会解决问题。
我认为你使用错误的函数使用Long.parseLong(str),那么你可以得到正确的答案。
链接地址: http://www.djcxy.com/p/31126.html