Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.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
Java字符串比较失败_Java_Android_String_String Comparison - Fatal编程技术网

Java字符串比较失败

Java字符串比较失败,java,android,string,string-comparison,Java,Android,String,String Comparison,我已经在我的代码中寻找一个错误好几个小时了,但我就是找不到它。 我可以在我的代码的这一部分找到错误: public String getType(File file) { String type = null; try { type = URLConnection.guessContentTypeFromName(file.getAbsolutePath()); if (type.startsWith("image"))

我已经在我的代码中寻找一个错误好几个小时了,但我就是找不到它。 我可以在我的代码的这一部分找到错误:

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项目

编辑: 我明白了

/storage/emulated/0/WhatsApp/Media/WhatsApp Images/IMG-20150906-WA0000.jpg
在这两种情况下,我收到

/storage/emulated/0/Profilbilder/18186367897.jpg
只有当我使用上面的代码时。并且不会对此文件引发任何异常

编辑:
我创建了一个新项目,现在它可以按预期工作了。由于我的新代码不完全相同,但几乎相同,所以我无法判断这是逻辑错误还是编译器在文件为null或URLConnection引发一些异常时,type必须为null,那么type.startsWith(“image”)上就存在nullpointerException

您是否尝试在捕捉块中打印
e
,以查看它是否有时会抛出?请给出一些您希望有效但不起作用的输入示例。@Turix。是的,但仅适用于没有正确扩展名的文件。正如我所说的,这一部分工作完全正确。但是如果我在try块之外调用startsWith,它不会提供所有匹配项。
type
URLConnection
引发异常时必须为null。@Samuel您可以给我们一个您提供的文件名示例。是的,这是正确的,但不是问题所在。通过这种方式,我确实收到了以“image”开头的所有类型NullPointerException,如果在URLConnectionIndeed上捕获到异常,则不会发生。我只收到NullPointerException。但正如我所说,这不是我的问题。