Как отправить список функций в качестве аргумента - PullRequest
0 голосов
/ 11 октября 2018

У меня есть эта функция для подделки файла в S3:

public void setTAGToFile(String filekey, String externalS3Bucket, String tagKey, String tagValue)  {

    List<Tag> tags = new ArrayList<Tag>();
    tags.add(new Tag(tagKey, tagValue));
    ObjectTagging objectTags = new ObjectTagging(tags);
    common.tagObjectInS3(externalS3Bucket, filekey, objectTags);
}

Здесь я смогу пометить только один раз ключом и значением.Как я могу изменить свою функцию для поддержки получения нескольких тегов?Я думал использовать цикл for и использовать tags.add в теле цикла

for (Tag tag: tags)
{
   tag.add(/* ... */);
}

, но я не уверен, что изменить на входе моей функции?

1 Ответ

0 голосов
/ 11 октября 2018

Если я правильно понял вопрос, вы хотите передать несколько пар ключ-значение?

На месте я могу придумать три подхода:

  1. Поскольку ключ являетсяуникальное значение, вы можете передать карту Java HashMap
  2. Вы можете создать свой собственный класс и передать его в виде списка
  3. Не изобретать зановорулевое колесо.Как уже говорилось в luk2302, есть класс, описывающий тег с ключом и значением.Зачем беспокоиться о проблеме, если кто-то другой уже решил ее?Вызов может быть похож (даже если не рекомендуется)

    setTAGToFile (
    "String",
    "String",
    "String",
    new ArrayList () {
    новый тег («Ключ», «Значение»),
    новый тег («Ключ», «Значение»)}
    )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...