2017-06-28 5 views
0

Ich versuche, Datei aus der Linkliste von Datei zu erhalten und dann das erhaltene Bild mit dem vorhandenen Bild auf Bildansicht zu vergleichen, aber es gibt Nullzeiger Ausnahme Code eingeben hierAbrufen von Daten aus einer Linkliste von Datei und Vergleichen des Bildes mit dem vorhandenen Bild

files.stream().map((file) -> file.toPath().toString()).forEachOrdered((string) -> { 
try { 
    Image source =new Image(new FileInputStream(string)); 
    if(source==image){ 
     stringFilePath=string; 
    } 
} catch (FileNotFoundException ex) { 
    Logger.getLogger(SecondFrameController.class.getName()).log(Level.SEVERE, null, ex); 
} 

ich versuchte es auch mit for-Schleife, aber das Problem existiert noch

for(File file:files) 
      { 
       String string= file.toPath().toString(); 
         try { 
          Image source =new Image(new FileInputStream(string)); 
          if(source==image){ 
            stringFilePath=string; 
          } 
         } catch (FileNotFoundException ex) { 
          Logger.getLogger(SecondFrameController.class.getName()).log(Level.SEVERE, null, ex); 
         } 
      } 

Antwort

0

In Ihrem Fall der == Operator würde nie true zurück, wie es beispielsweise zur Identifizierung verwendet wird, nicht um Bilder zu vergleichen.
Sehen Sie diese Antwort für mehr auf == auf Objekte: http://stackoverflow.com/a/19966154/2284641

Versuchen Sie, eine Methode der Klasse mit Image, die verwendet werden könnte es mit einer anderen Image Instanz zu vergleichen.

Verwandte Themen