Функция жирной стрелки и гнездо декоратора?

ArrayIndexOutOfBoundsException само имя объясняет, что если вы пытаетесь получить доступ к значению в индексе, который выходит за рамки размера массива, возникает такое исключение.

В вашем случае вы можете просто удалить знак равенства из цикла for.

for(int i = 0; i<name.length; i++)

Лучшим вариантом является итерация массива:

for(String i : name )
      System.out.println(i);
0
задан Crayzzit 25 June 2019 в 19:28
поделиться

1 ответ

Я бы сказал, что ответ «нет» по той самой причине, по которой 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 ].

1
ответ дан Jay McDoniel 25 June 2019 в 19:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: