Честно говоря, я не думаю, что вы должны думать об эффективности здесь, тем более что вы, кажется, используете ее для локальной переменной, и вы выбрасываете (вновь созданный) Scanner
в любом случае.
Но если это все еще представляет интерес, я бы сказал, что разница в производительности незначительна, поскольку Scanner.nextInt
в любом случае заканчивается
return Integer.parseInt(s, radix);
.
проанализировать несколько целых чисел, я бы сказал, лучший способ создать Scanner
один раз, и повторно использовать этот экземпляр:
Scanner scanner = new Scanner(System.in);
int foo = scanner.nextInt();
int bar = scanner.nextInt();
// ...