比较

2011-02-15 77 views
0

两种说法或多或少做输入的同样的工作,一个int比较

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

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

他们之间有任何性能差异.. ??? ????????

+0

如果您遇到性能问题,请尝试使用扫描仪的替代方法。 – Roalt 2011-05-10 11:36:48

回答

1

我真的不认为你应该在效率方面思考,特别是因为你似乎使用它作为局部变量,并且在任何情况下都丢弃(新创建的)Scanner

但是,如果它仍然感兴趣,我想说的性能差异可以忽略不计,因为Scanner.nextInt

return Integer.parseInt(s, radix); 

反正结束。

如果你需要分析几个整数,我会说,最好的方式来创建一个Scanner一次,并重新使用该实例:

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

需要眨眼的时间约为50毫秒。按下按键的时间大致相同。这些声明之间的差异将远远小于这个,并且将小于0.002毫秒。

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