在一个测试中,我看到Long.decode的工作方式类似于Long.parseLong的简单数字格式字符串(我的意思是不含'0x'的字符串,...)。

System.out.println(Long.decode("123") + Long.decode("123"));  // prints  246
System.out.println(Long.parseLong("123") + Long.parseLong("123")); // same as above

可以在任何地方使用Long.decode而不是Long.parseLong吗?如果不是,为什么?

最佳答案

它们的行为相似,但是Long.parseLong返回原始的long,而Long.decode返回新的Long对象,这需要更多的时间和资源。因此,对于简单的情况,最好使用Long.parseLong。但是,Long.decode提供了更大的灵活性,因为它允许您解码十六进制(例如0xFFFF)或八进制(例如010 == 8)的输入。

07-24 18:21
查看更多