Suspicious 'InvocationHandler' implementation
Reports implementations of InvocationHandler
that do not proxy standard Object
methods like hashCode()
, equals()
, and toString()
.
Failing to handle these methods might cause unexpected problems upon calling them on a proxy instance.
Example:
This code snippet is designed to only proxy the Runnable.run()
method. However, calls to any Object
methods, like hashCode()
, are proxied as well. This can lead to problems like a NullPointerException
, for example, when adding myProxy
to a HashSet
.
Locating this inspection
- By ID
Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.
SuspiciousInvocationHandlerImplementation- Via Settings dialog
Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.
New in 2020.2
Inspection Details | |
---|---|
By default bundled with: | |
Can be installed with plugin: | Java, 243.23126 |