RFR: 8263233: Update java.net and java.nio to use instanceof pattern variable [v3]
Daniel Fuchs
dfuchs at openjdk.java.net
Tue Mar 9 20:33:12 UTC 2021
On Tue, 9 Mar 2021 20:07:14 GMT, Mark Sheppard <msheppar at openjdk.org> wrote:
>> Patrick Concannon has updated the pull request incrementally with one additional commit since the last revision:
>>
>> 8263233: Refactored equals method further
>
> src/java.base/share/classes/java/net/NetMulticastSocket.java line 219:
>
>> 217: if (addr == null)
>> 218: addr = new InetSocketAddress(0);
>> 219: if (!(addr instanceof InetSocketAddress epoint))
>
> in the context of this type of change the negative logic is a little obtuse or disjoint in the new style variable declaration, and its subsequent use. I'd find it a more natural flow and easier to read with the instanceof pattern prefacing a block in which the variable is used
> if (addr instanceof InetSocketAddress epoint) {
> // a block which is using the epoint variable
> if (epoint.isUnresolved)
> throw new SocketException("Unresolved address");
> InetAddress iaddr = epoint.getAddress;
> etc, etc ...
> } else {
> throw new IllegalArgumentException("Unsupported address type!");
> }
The disadvantage is that it would add another level of braces.
-------------
PR: https://git.openjdk.java.net/jdk/pull/2890
More information about the net-dev
mailing list