我有一个URL列表添加到String []中。
try {
Elements thumbs = jsDoc.select("div.latest-media-images img.latestMediaThumb");
List<String> thumbLinks = new ArrayList<String>();
for(Element thumb : thumbs) {
thumbLinks.add(thumb.attr("src"));
}
for(String thumb : thumbLinks) {
System.out.println(thumbLinks.get(1));
}
}
如何添加加载到单独String中的每个String?
编辑:
因为图像被加载到thumbLinks列表中。我想让每个链接分开
String url1;
String url2;
String url3;
答案 0 :(得分:1)
如果您期望固定数量的项目,并且您拥有固定数量的String
变量,那么您别无选择,只需要:
String url0 = thumbLinks.get(0);
String url1 = thumbLinks.get(1);
...
String url5 = thumbLinks.get(5);
嗯,我猜你可以用reflection做一些严峻的事情。但最好完全避免这种情况。
答案 1 :(得分:0)
取一个ArrayList对象大小的String数组 - 在你的情况下是thumbLinks。取一个int
变量并用零初始化它。我在代码中做了一些更改,看看:
try{
Elements thumbs = jsDoc.select("div.latest-media-images img.latestMediaThumb");
List<String> thumbLinks = new ArrayList<String>();
for(Element thumb : thumbs) {
thumbLinks.add(thumb.attr("src"));
}
String[] urls = new String[thumbLinks.size()];
int x =0;
for(String thumb : thumbLinks) {
urls[x++] = thumb;
}
}catch(Excpetion e){
}
Elements thumbs = jsDoc.select("div.latest-media-images img.latestMediaThumb");
List<String> thumbLinks = new ArrayList<String>();
for(Element thumb : thumbs) {
thumbLinks.add(thumb.attr("src"));
}
String[] urls = new String[thumbLinks.size()];
int x =0;
for(String thumb : thumbLinks) {
urls[x++] = thumb;
}
}catch(Excpetion e){
}
将用于您的目的
答案 2 :(得分:0)
ArrayList
有method public <T> T[] toArray(T[] a)
您可以按照thumbLinks
上的说明调用:
String[] url = new String[thumbLinks.size()];
url = thumbLinks.toArray(url);
然后,您将拥有一个可以像这样访问的字符串数组:
System.out.println(url[0]);
System.out.println(url[1]);
System.out.println(url[2]);
// etc, etc. all the say up to thumbLinks.size() - 1
虽然这不是完全你所要求的,但它几乎是一回事。如果你真的想要名为url1, url2, url3, etc.
的变量,那么你可能需要逐行为列表中的每个元素编码。
除此之外,您不需要一个数组来直接访问thumbLinks
列表中的元素。你已经可以这样做了:
System.out.println(thumbLinks.get(0));
System.out.println(thumbLinks.get(1));
System.out.println(thumbLinks.get(2));
// etc. all the way up to thumbLinks.size() - 1