【发布时间】:2012-10-30 18:17:33
【问题描述】:
我正在合并由两个不同的人编写的代码,并注意到将 String 值转换为 Long 有两种不同的方式。
Coder #1 已经这样做了:
String strId = "12345678";
...
Long lId = new Long(strId);
虽然 2 号编码器已经这样做了:
String strId = "12345678";
...
Long lId = Long.valueOf(strId);
在功能上,代码的运行方式完全相同。每个位周围都有一个 try/catch 块来处理任何抛出的NumberFormatException。传入的字符串值是一个代表小数的 8 位字符串:"12345678",并且在这两种情况下都正确转换为 Long。
在构造函数中传递字符串和使用 Long.valueOf() 有什么功能上的区别吗?我在这里检查了构造函数文档:
这里还有 valueOf() 的文档:
Long.valueOf(java.lang.String)
据我所知,它们都调用 parseLong() 所以使用哪个并不重要。我只是想确保我不会为以后的一些奇怪行为做好准备。另外,哪种风格比另一种更“正确”(哈哈)?
【问题讨论】:
标签: java coding-style long-integer