在Java中将long转换为String的有效方法

时间:2015-07-22 06:38:25

标签: java

我一直在使用

long a = 123456789;
String b = a+"";

long值(或int)转换为String,或者在此视角中,将其视为字符串。我的问题是,这样做可以吗?是否有任何负面影响?

使用String.valueOf()Long.toString()有什么不同?

由于

2 个答案:

答案 0 :(得分:4)

首先,您的代码无法编译 - 您必须在文字后附加L

Long a = 123456789L;

String.valueOf()Long.toString()方法都有一个原始long作为参数,但由于a是一个包装器(Long),您可以使用Object#toString()方法:

String b = a.toString();

但是,如果a是基元(long),则String.valueOf()Long.toString()都会做同样的事情,因此优先使用哪一个

答案 1 :(得分:4)

可以这样做,因为最近的JVM可能会将其减少为:

String b = String.valueOf(a);

对于否定,由于存在歧义,因此Java编码风格并不好。如果 a null b =" null" ?或者NPE会被抛出?您可以通过经验了解答案,但这对您的代码的所有读者都应该是显而易见的。