繁体   English   中英

将ArrayList转换为String

[英]Converting an ArrayList to String

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

这是我目前的代码:

    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());
        }
    }

要获得所需的所有值,您可以非常轻松地遍历列表:

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
    }
}

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

例如,Java中的ArrayList到String,如下所示:

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)

得到它了....

好吧,我不确定是否有一些特殊的方法来实现你的要求。 您需要遍历数组。 您可以使用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();

如果需要,您需要拆分字符串。 (如果他们需要进入单独的领域

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM