Reports non-Serializable objects used as arguments to java.io.ObjectOutputStream.write(). Such calls will result in runtime exceptions.

This inspection assumes objects of the types java.util.Collection and java.util.Map to be Serializable, unless the types they are declared in are non-Serializable.

Example:


  public class IWantToSerializeThis {
    public static void main(String[] args) throws IOException {
      try(var stream = new ObjectOutputStream(Files.newOutputStream(Paths.get("output")))) {
        // Warning -- will fail with NotSerializableException
        stream.writeObject(new IWantToSerializeThis());
      }
    }
  }