2013-10-24 78 views
0

我目前使用JSoup从HTML表中抓取数据,然后将其存储到ArrayList中。然后我想将这些值存储在SQL数据库中。从我的理解,这些必须转换为一个字符串,然后才能被插入到数据库中。我将如何去将这些ArrayLists转换为一个字符串?将ArrayList转换为字符串

这里是我当前的代码:

Document doc = Jsoup.connect(URL).timeout(5000).get(); 

    for (Element table : doc.select("table:first-of-type")) 
    { 
     for (Element row : table.select("tr:gt(0)")) { 
      Elements tds = row.select("td"); 

      List1.add(tds.get(0).text()); 
      List2.add(tds.get(1).text()); 
      List3.add(tds.get(2).text()); 
     } 
    } 

回答

2

得到你需要,你可以遍历列表很容易的所有值:

public static void main(String[] args) { 
    List<String> List1 = new ArrayList<>(); 
    for (String singleString : List1){ 
     //Do whatever you want with each string stored in this list 
    } 
} 
0

Java集合框架并没有提供任何直接的在Java中将ArrayList转换为String的实用方法。但是以依赖注入和它的IOC容器而闻名的Spring框架还提供了API,它提供了一些常用的工具,例如将Collection转换为Java中的String的方法。您可以使用Spring框架的StringUtils类将ArrayList转换为String。 StringUtils类提供三种方法来转换任何集合

ArrayList中为String在Java中,如下图所示:

public static String collectionToCommaDelimitedString(Collection coll) 
public static String collectionToDelimitedString(Collection coll, String delim) 
public static String collectionToDelimitedString(Collection coll, String delim, String prefix, String suffix) 

得到它....

0

嗯,我真的不知道,如果有,是实现你所要求的一些特殊的方法。 您需要遍历数组。您可以使用StringBuilder而不是String来进行一些优化。我真的不知道多少你会提振的涨幅表现..

反正这是代码是什么样子..

StringBuilder sb = new StringBuilder(); 
for (Object o : list1){ 
    sb.append(o.toString()+delimiter); // delimiter could be , or \t or || 

//You could manipulate the string here as required.. 
// enter code here` 
} 
return sb.toString(); 

你会那么需要的,如果需要分割的字符串。 (如果他们需要进入单独的领域