Как преобразовать аргументы переменной функции в коллекцию, такую ​​как Set или List - PullRequest
1 голос
/ 28 октября 2010

В Java мы можем использовать функцию variadic следующим образом:

public Set packStrings(String...strings){
    for (String str : strings){
         //Do something on the str
    }

    //How to convert strings into a Set?
}

Мой вопрос такой: какой тип "строки"?это строка []?Как поместить строку (ы), обозначенные «строками» в Java Collection, например, Set или List?

Пожалуйста, сообщите.

Ответы [ 2 ]

3 голосов
/ 28 октября 2010

Это строковый массив, поэтому вы можете сделать:

Arrays.asList(strings);
2 голосов
/ 28 октября 2010
public Set<String> packStrings(String...strings){

    //Way 1 to create List
    List<String> strList = new ArrayList<String>();
    for (String str : strings){
         //adding to list
         strList.add(str);
    }
    //way 2 to create List
    List<String> strList = Arrays.asList(strings);
    //converting to set from List
    Set<String> setStr= new HashSet<String>(strList);
    return setStr;
}  

Посмотрите на это Док

...