在大多数情况下,最好通过提取数字并将它们放到字符串上并使用valueOf()来获取值来反转整数;或者将整数直接反转为整数?
我倾向于说前者更好,因为它在我的书的答案解决方案中无处不在,只要他们需要反转一个整数。
使用其他方法有什么缺点,除了写入和读取更耗时?
答案 0 :(得分:1)
第一种方式(将整数转换为字符串,反转字符串,然后将其转换回来):
第二种方式:
当然,现代计算机是如此复杂,以至于唯一方式来判断事物是否更快是实际测量它。我说第二种方式可能会更快,但这只是猜测。
结论:
如果您需要快速编写代码,请执行第一个代码,因为它更容易
如果您需要快速运行代码,请测量每个代码运行所需的时间,并使用更快的代码。
但是,在实践中,除了编程练习之外,永远不会需要反转整数。因此,如果您在询问现实世界中更常使用哪种算法,则答案都不是。
答案 1 :(得分:1)
String方法更易于编写,并且更易于被其他程序员(以及2周内自己)阅读。使用模数的直接转换方法速度更快,占用的内存更少,但读写起来更难。
请注意,通过JIT编译和JVM的改进,第一种方法可以在内部进行优化,以便模拟后者。我们都知道编程的一般规则是避免"过早优化"。因此,使用String的更易读的方法可能是最好的。
答案 2 :(得分:0)
你是什么意思"更好"你是什么意思"为了一般目的"?
我还没有在任何地方看到过这种操作,所以我无法证明任何人真正使用它。我认为这是一个棘手的问题 - 你的"通用目的"毕竟可能不存在。