2014-01-22 91 views
0

如何將對象列表轉換爲相應的字符串列表而不掃描for循環的所有元素?轉換列表<Object>到列表<String>沒有?

+4

該列表是否實際包含字符串或您是否需要顯式轉換它們? –

+0

如何將所有對象轉換爲字符串?或者通常你需要獲得所有toString()? – vels4j

+0

謝謝。該列表包含String對象。 –

回答

5

你可以試試這個:

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

謝謝。如果我需要調用toString,該怎麼辦? –

+0

沒有循環? – Balduz

+0

@HomayounAfshari我很困惑。您剛纔在問題中的評論中說過您的列表包含字符串。你爲什麼要在String上調用'toString'? – Pshemo

1

在你指定你想調用toString()方法的註釋。這可以用番石榴(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); 
    } 
} 
相關問題