2014-01-22 3 views
0

Как преобразовать список объектов в соответствующий список строк без сканирования всех элементов по циклу?Список преобразований <Object> в список <String> без?

+4

Действительно ли список содержит строки или вам нужно их явно преобразовать? –

+0

Как вы можете наложить все объекты на String? или обычно вам нужно получить все toString()? – vels4j

+0

спасибо. список содержит объекты String. –

ответ

5

Вы можете попробовать это:

List<String> variable = (List<String>)(List<?>) yourList; 
+0

Спасибо. что, если мне нужно вызвать toString? –

+0

Без петли? – Balduz

+0

@HomayounAfshari Я смущен. Вы только что сказали в своем комментарии на вопрос, что ваш список содержит строки. Почему вы хотите вызвать 'toString' в String? – Pshemo

1

В комментариях вы указали, что вы хотите, чтобы вызвать метод ToString(). Это возможно с помощью guava (https://code.google.com/p/guava-libraries/):

import com.google.common.base.Function; 
import com.google.common.collect.Lists; 

import java.util.ArrayList; 
import java.util.List; 

public class Application { 

    public static void main(String[] args) { 
     Function<Object, String> objectToString = new Function<Object, String>() { 
      public String apply(Object object) { 
       return object.toString(); 
      } 
     }; 
     List<Object> yourList = new ArrayList<Object>(); 
     yourList.add("foo"); 
     List<String> strings = Lists.transform(yourList, objectToString); 
    } 
} 
Смежные вопросы