String.Contains() 中的布尔值未按预期返回?
Boolean not returning as expected in String.Contains()?
我的项目中有这个示例,我需要知道为什么结果是这样。
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
代码总是按您的要求执行:
String url = "https://classicpartyrentals.com/products/24681-gothic-
但是
String contains = "http://classicpartyrentals.com/";
https 与 http!
所以真实的答案是:特别是当你是初学者时,你的代码被揭开的机会"some Java bug"相对较小(在现实中非常接近于零!)
您的 假设错误的可能性更高。您要么没有完全理解您正在调用的方法,要么您的输入数据中存在 微妙 缺陷。
最后:还要处理您的命名。 contains 在这里不是一个很好的名字;您最好将其命名为 expectedUrl,或类似的名称!
在您的代码中 Url“https://classicpartyrentals.com/products/24681-gothic-silver-coffee-cup”包含 https
但是您的比较字符串“http://classicpartyrentals.com/”包含 http,因此它不匹配并且 return false
我的项目中有这个示例,我需要知道为什么结果是这样。
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
代码总是按您的要求执行:
String url = "https://classicpartyrentals.com/products/24681-gothic-
但是
String contains = "http://classicpartyrentals.com/";
https 与 http!
所以真实的答案是:特别是当你是初学者时,你的代码被揭开的机会"some Java bug"相对较小(在现实中非常接近于零!)
您的 假设错误的可能性更高。您要么没有完全理解您正在调用的方法,要么您的输入数据中存在 微妙 缺陷。
最后:还要处理您的命名。 contains 在这里不是一个很好的名字;您最好将其命名为 expectedUrl,或类似的名称!
在您的代码中 Url“https://classicpartyrentals.com/products/24681-gothic-silver-coffee-cup”包含 https
但是您的比较字符串“http://classicpartyrentals.com/”包含 http,因此它不匹配并且 return false