或条件不正常工作?

时间:2014-07-06 14:34:32

标签: android

我试图从简单的外观条件中获得一个简单的结果,但不知道为什么当每件事看起来都没问题时它不起作用!

   public static String getMIME(File file){

     String result=null;
     String type = null;
     String extension = MimeTypeMap.getFileExtensionFromUrl(file.getAbsolutePath());
     if (extension != null) {
         MimeTypeMap mime = MimeTypeMap.getSingleton();
         type = mime.getMimeTypeFromExtension(extension);
         if(type!=null){ 
             final String SplittedType=(type.split("\\/"))[0];
             System.out.println("Splittedtype: "+SplittedType);
             Log.i("MIME",type);
             if(!SplittedType.equals("image") || !SplittedType.equals("video") ){
                result = "Unknown";
            }else{
                result = SplittedType;
            }

         }else{
             result = "Unknown";
         }

     }
     System.out.println("Result : "+result);
     return result;

  }

Logcat显示正确的值,但结果总是"未知"虽然SplittedType是图像或视频,但我唯一能想到的是OR条件不是Wokring!

1 个答案:

答案 0 :(得分:0)

您可能想要使用AND条件(&&)。

if(!SplittedType.equals("image") && !SplittedType.equals("video") ){
    result = "Unknown";
} else {
    result = SplittedType;
}

仅当类型不是"图像"而不是"视频",那你就不知道了。如果类型是"图像"或者"视频",然后它不是"未知"。