java.lang.NoSuchMethodError: java.lang.Long

java.lang.NoSuchMethodError: java.lang.Long  

转自:http://sddhn.blog.163.com/blog/static/12818779201058101032215/

前两天遇到了这个问题::
 java.lang.NoSuchMethodError: java.lang.Long: method valueOf(J)Ljava/lang/Long; not found
奇怪吧,在本地和测试服务器上运行的程序都没问题,为什么到生产机就出了这问题呢?而且这个异常本身信息再简单不过了。

原来是这样的:
本地测试的时候JRE是1.5,测试服务器上的JRE也是1/5,但生产机器上的却是1.4,
而出现这个异常时因为使用这个方法 
long longVar = lL;
Long  l = Long.valueOf(longVar );

Long.valueOf(long) 这个方法是since 1.5 才提供的,在1.4上是没有的,虽然在本机的程序已经设置了编译级别为1.4,可能是因为java api是1.5的原因,未提示这样的写法是1.4所支持的,解决的方法简单,其中之一:

Long l = Long valueOf(String.valueOf(longVar));

猜你喜欢

转载自blog.csdn.net/arlanhon/article/details/32710683