Finalize
Do not override finalize

Severity
WARNING

The problem

Do not override Object.finalize.

Starting in JDK 18, the method is deprecated for removal, see JEP 421: Deprecate Finalization for Removal.

The Google Java Style Guide §6.4 states:

It is extremely rare to override Object.finalize.

Tip: Don’t do it. If you absolutely must, first read and understand Effective Java Item 8, “Avoid finalizers and cleaners” very carefully, and then don’t do it.

Suppression

Suppress false positives by adding the suppression annotation to the enclosing element:

@SuppressWarnings("Finalize") // TODO(user): remove overrides of finalize