我的搜索代码部分:

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();
        }
    }
}


在此部分:if(prod.get(i).getName()==SearchProduct)

prod    [0] name    "Cat" (id=830032142800)
SearchProduct   "Cat" (id=830032120832)


比较时,尽管它们相似,但返回false。有什么想法吗?

最佳答案

使用==运算符无法获得字符串比较。
您可以通过测试equals()得到比较。

尝试这个:

if(prod.get(i).getName().equals(SearchProduct))

关于android - 相似变量不相似,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21499670/

10-11 20:22
查看更多