Java字符串比较失败

时间:2016-02-06 02:32:30

标签: java android string string-comparison

我几个小时以来一直在寻找代码中的错误,但我根本无法找到它。 我可以找到错误在我的代码的这一部分:

public String getType(File file)
{
    String type = null;

    try
    {
        type = URLConnection.guessContentTypeFromName(file.getAbsolutePath());
        if (type.startsWith("image"))
        {
            Log.d(logTag, file.getAbsolutePath());
        }
    }
    catch (Exception e){}

    return type;
}

这个工作非常好但是当我在return语句之前直接进行字符串比较时,我不会得到以" image"开头的所有类型。

当我不使用异常处理块时,会发生同样的事情。

我还显示了字符串的整数值,它们相等。

如果重要:这是一个Android项目。

修改 E.g我得到

/storage/emulated/0/WhatsApp/Media/WhatsApp Images/IMG-20150906-WA0000.jpg

在这两种情况下我收到了

/storage/emulated/0/Profilbilder/18186367897.jpg

仅当我使用上面的代码时。并且不会为此文件抛出异常。

修改 我创建了一个新项目,现在按预期工作。由于我的新代码不完全相同但差不多,我无法判断这是一个逻辑错误还是编译器

1 个答案:

答案 0 :(得分:-1)

当file为null或URLConnection抛出一些异常时,type必须为null,然后在type.startsWith(“image”)上有一个nullpointerException