我正在尝试从文件的链接列表中获取文件,然后将所获得的映像与ImageView上的现有映像进行比较,但它给出了null指针异常在此处
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);
}
我也尝试过循环,但问题仍然存在
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);
}
}
在您的情况下,==
操作员永远不会返回true,因为它用于识别实例,而不是比较图像。
请参阅此答案,以获取有关==
的更多信息:http://stackoverflow.com/a/19966154/2284641
尝试使用类Image
的方法,该方法可用于将其与另一个Image
实例进行比较。