Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 相似的变量并不相似_Android - Fatal编程技术网

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))