我从我的项目中得到了这个样本,我需要知道结果是什么原因。
public class Main
{
public static void main(String[] args)
{
//url: https://classicpartyrentals.com/products/24681-gothic-silver-coffee-cup, websiteList: http://classicpartyrentals.com/, URL Contains Returns bool: false
String url = "https://classicpartyrentals.com/products/24681-gothic-silver-coffee-cup";
String contains = "http://classicpartyrentals.com/";
System.out.println("Returns bool: " + url.contains(contains));
}
}
输出:
Returns bool: false
答案 0 :(得分:2)
代码始终按照您的要求执行操作:
String url = "https://classicpartyrentals.com/products/24681-gothic-
但是
String contains = "http://classicpartyrentals.com/";
http s 与http!
所以真正的答案是:特别是当你是初学者时,你的代码发现“某些Java bug”的可能性相对较小(实际上非常接近于零!)
您的假设出错的可能性要大得多。您要么不完全理解要调用的方法,要么输入数据中存在微妙的缺陷。
最后:还可以处理命名。 包含在这里不是一个很好的名字;你最好把它称为 expectedUrl ,或类似的东西!
答案 1 :(得分:1)
在您的代码网址" https://classicpartyrentals.com/products/24681-gothic-silver-coffee-cup"包含https
但您的比较字符串" http://classicpartyrentals.com/"包含http所以它不匹配并返回false