2014-07-06 3 views
0

메신저 단순한보고 조건에서 간단한 결과를 얻으려고 시도하지만 모든 것이 정상적으로 보일 때 왜 작동하지 않는지 전혀 모릅니다!또는 조건이 제대로 작동하지 않습니까?

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; 

    } 

로그 캣 오른쪽 값을 표시하지만 결과는 항상 "알 수없는"입니다 SplittedType 이미지 또는 비디오 중 하나 인 반면, 내가 생각할 수있는 유일한 방법은 OR 조건이 Wokring가 없습니다!

+0

Java/Android에서 이와 같은 주요 버그를 발견하지 못했을 수도 있습니다.'! ='는'String'에 사용해서는 안됩니다. – Simon

+0

올바른 게시물에 댓글을 달았습니까? : D – user3805809

답변

0

AND 조건 (& &)을 사용하려고합니다.

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

유형이 "이미지"가 아니며 "비디오"가 아닌 경우에만 알 수 있습니다. 유형이 '이미지'또는 '동영상'인 경우 '알 수 없음'이 아닙니다.

+0

네, 가장 간단한 것은 너무 복잡해지고, 이것과 같이 바뀌 었습니다 : if (SplittedType.equals ("image") || SplittedType.equals ("video")) {result = SplittedType – user3805809

관련 문제