比較

2011-02-15 90 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毫秒。

總之,我不會擔心它。使它正確,清晰和簡單,而且這通常也是最快的。