【问题标题】:Comparison of input statements in javajava中输入语句的比较
【发布时间】:2011-06-27 14:42:16
【问题描述】:

两个语句或多或少地完成了输入 int 的相同工作

int foo = new Scanner(System.in).nextInt();

int bar = Integer.parseInt(new Scanner(System.in).next());

它们之间有什么性能差异..????????????

【问题讨论】:

  • 如果您在性能方面遇到问题,请尝试使用 Scanner 的替代品。

标签: java performance input types type-conversion


【解决方案1】:

老实说,我认为您不应该在这里考虑效率,特别是因为您似乎将它用于局部变量,并且在任何一种情况下都丢弃了(新创建的)Scanner

但如果它仍然感兴趣,我会说性能差异可以忽略不计,因为 Scanner.nextInt 以 a 结尾

return Integer.parseInt(s, radix);

无论如何。

如果您需要解析多个整数,我会说最好的方法是创建一次Scanner,然后重用该实例:

Scanner scanner = new Scanner(System.in);
int foo = scanner.nextInt();
int bar = scanner.nextInt();
// ...

【讨论】:

    【解决方案2】:

    闪烁所需的时间约为 50 毫秒。按键时间大致相同。这些语句之间的差异将远小于此,并且将小于 0.002 毫秒。

    简而言之,我不会担心。让它正确、清晰和简单,这通常也是最快的。

    【讨论】:

      猜你喜欢
      • 2016-08-09
      • 2017-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-08
      相关资源
      最近更新 更多