.equals()
сравнивает данные в классе (при условии, что функция реализована). ==
сравнивает местоположения указателя (расположение объекта в памяти).
==
возвращает true, если оба объекта (NOT TALKING OF PRIMITIVES) указывают на экземпляр SAME. .equals()
возвращает true, если два объекта содержат одни и те же данные equals()
Versus ==
в Java
Это может вам помочь.
Длинная проблема, короткий ответ: мне не хватало двоичного режима для чтения изображения в Windows.
f = File.new (filename, File :: RDWR)
пришлось be
f = File.new (filename, "rb")