这两种实践中的哪一种在Java中更有效?

der*_*dji 2 java arrays string performance

我有一个对象数组,我知道元素是String类型,比如说我需要多次访问它们.

  • 练习1:通过数组索引访问元素,并在每次需要时将其强制转换为String.
  • 练习2:创建本地String实例并访问每个元素一次.

哪个会运行得更快?如果它是在一个内存有限的移动设备上,这将是一个更好的做法?谢谢.

Chr*_* B. 19

你问的是错误的问题.在知道需要优化的内容之前不要进行优化.相反,编写最清晰,最容易理解的代码,然后在知道存在问题时重构(并且您已确定问题是什么).

在这种情况下,我认为维护一个数组并根据需要将它们转换为String要容易得多.如果结果是一个问题,我会重构(可能通过创建一个String数组并将对象复制到其中一次).

  • 多少钱?如果写一个复杂的,难以维护的,并且错误的优化可以在运行一个多小时后节省1秒的电池电量,那值得吗?完成应用程序后,_then_是时候看到什么运行缓慢,耗尽太多电量,或占用太多内存,并优化_that_. (6认同)