ArrayIndexOutOfBoundsException
само имя объясняет, что если вы пытаетесь получить доступ к значению в индексе, который выходит за рамки размера массива, возникает такое исключение.
В вашем случае вы можете просто удалить знак равенства из цикла for.
for(int i = 0; i<name.length; i++)
Лучшим вариантом является итерация массива:
for(String i : name )
System.out.println(i);
Я бы сказал, что ответ «нет» по той самой причине, по которой arrow function
отличается от function
в JavaScript, а именно, изменяя лексическое this
и arguments
. Этот ответ содержит много подробностей о том, как function () {}
отличается от myFunction = () => {}
.
Наряду с этим, использование функций со стрелками запретило бы использование функций классов, поэтому, если вы внедряете какие-либо экземпляры службы, вы не сможете их использовать.
@Injectable()
export class AppController {
constructor (private readonly appService: AppService) {}
@Get('/')
hello(): string {
return this.appService.sayHello();
}
}
будет работать и возвращать строку из функции appService.sayHello()
, но этот
@Injectable()
export class AppController {
constructor (private readonly appService: AppService) {}
@Get('/')
hello = (): string => {
return this.appService.sayHello();
}
}
не будет возвращать строку из функции appService.sayHello()
, поскольку он не знает о appService
].