Android 相似的变量并不相似
我的搜索部分代码:Android 相似的变量并不相似,android,Android,我的搜索部分代码: String neededShop = "not found"; float min_price=999999; ProductHandler ph = new ProductHandler(this); prod=ph.getAllProducts(); for(int i = 0 ; i<prod.size(); i++) { if(prod.get(i).getName()==SearchProduct) { if(min_pric
String neededShop = "not found";
float min_price=999999;
ProductHandler ph = new ProductHandler(this);
prod=ph.getAllProducts();
for(int i = 0 ; i<prod.size(); i++)
{
if(prod.get(i).getName()==SearchProduct)
{
if(min_price>prod.get(i).getPrice())
{
min_price=prod.get(i).getPrice();
neededShop = prod.get(i).getShop();
}
}
}
当进行比较时,它返回false,尽管它们相似。知道为什么吗?使用=运算符无法获得字符串比较。
您可以通过测试equals()来进行比较 试试这个:
if(prod.get(i).getName().equals(SearchProduct))
它不是魔术师,它是java…:) double equal==仅用于基本类型
对于比较对象,您需要在
Java
中使用equals()方法进行检查,对于非原始数据类型的比较对象,您必须使用方法。Hmm当我尝试equalsIgnoreCase时,它不起作用。现在它工作了,感谢可能的副本
if(prod.get(i).getName().equals(SearchProduct))