我连接到一个url并将整个页面读取为字符串,然后将字符串分割为逗号,并将所有内容存储在具有以下代码的列表中:
HttpClient httpClient = new DefaultHttpClient();
HttpGet get = new HttpGet(params[0]);
HttpResponse response = httpClient.execute(get);
bodyHtml = EntityUtils.toString(response.getEntity()).replace("[", "").replace("]", "");
items = Arrays.asList(bodyHtml.split("\s*,\s*"));
我需要检查列表中.contains()
是否存在某些整数,但列表本身是java.lang.object
如何使列表成为整数列表而不是对象列表,或者如何检查对象列表中是否存在整数?
语句bodyHtml.split("\s*,\s*")
将返回一个String
数组。随后,语句Arrays.asList(bodyHtml.split("\s*,\s*"));
将返回一个List<String>
。因此,您应该能够将结果分配给List<String>
:
List<String> items = Arrays.asList(bodyHtml.split("\s*,\s*"));
。
您现在有两个选项来搜索列表:
- 如果您的
searchKey
不一定是Integer
,您可以通过将String
传递给contains
方法来搜索List
- 如果您的
searchKey
必须是Integer
,您可以使用searchKey.toString()
将搜索关键字转换为String
,并将其传递给contains
方法。
也就是说,这种方法只在存在精确匹配时才有效。如果您想要部分匹配,List.contains
不是要去的方式。最快的解决方案是遍历List<String>
,并对列表中的每个元素调用String.contains(searchKey)
。