2011-06-02 157 views

回答

9

有很多方法可以做到这一点,但这里有两个款式供您选择:

List<Double> ds = new ArrayList<Double>(); 
// fill ds with Doubles 
List<String> strings = new ArrayList<String>(); 
for (Double d : ds) { 
    // Apply formatting to the string if necessary 
    strings.add(d.toString()); 
} 

但更酷的方式来做到这一点是使用现代集合API(我最喜欢的是Guava),并以更实用的风格做到这一点:

List<String> strings = Lists.transform(ds, new Function<Double, String>() { 
     @Override 
     public String apply(Double from) { 
      return from.toString(); 
     } 
    }); 
+1

第二种方式是一种非常酷的方式。 :) – 2011-06-02 11:28:22

+0

谢谢我使用第一种方法! – Rasmus 2011-06-02 11:41:52

6

你必须迭代你的双列表并添加到一个新的字符串列表。

List<String> stringList = new LinkedList<String>(); 
for(Double d : YOUR_DOUBLE_LIST){ 
    stringList.add(d.toString()); 
} 
return stringList; 
+0

谢谢托马斯!你们所有人都基本上指出了相同的方法..谢谢你tonne – Rasmus 2011-06-02 12:15:38

1
List<Double> doubleList = new ArrayList<Double>(); 
doubleList.add(1.1d); 
doubleList.add(2.2d); 
doubleList.add(3.3d); 

List<String> listOfStrings = new ArrayList<String>(); 
for (Double d:doubleList) 
    listOfStrings.add(d.toString()); 
+0

感谢Erhan的帮助! – Rasmus 2011-06-02 11:42:53

1
List<Double> ds = new ArrayList<Double>(); 
// fill ds with Doubles 
List<String> strings = ds.stream().map(op -> op.toString()).collect(Collectors.toList()); 
相关问题