From e3a7e020d2d92e4eafe79b3ecebf31ec058bc48f Mon Sep 17 00:00:00 2001 From: Pavel Rappo Date: Fri, 30 Jun 2023 15:17:23 +0000 Subject: [PATCH] 8311162: Simplify and modernize equals and hashCode for java.net Reviewed-by: dfuchs, michaelm, msheppar --- .../classes/java/net/NetworkInterface.java | 26 +++++++------------ .../share/classes/java/net/Proxy.java | 15 +++++------ .../share/classes/java/net/URLPermission.java | 13 +++++----- 3 files changed, 23 insertions(+), 31 deletions(-) diff --git a/src/java.base/share/classes/java/net/NetworkInterface.java b/src/java.base/share/classes/java/net/NetworkInterface.java index 6fdad8eaed88c..f2d039d2502a2 100644 --- a/src/java.base/share/classes/java/net/NetworkInterface.java +++ b/src/java.base/share/classes/java/net/NetworkInterface.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2022, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -28,6 +28,7 @@ import java.util.Arrays; import java.util.Enumeration; import java.util.NoSuchElementException; +import java.util.Objects; import java.util.Spliterator; import java.util.Spliterators; import java.util.stream.Stream; @@ -586,18 +587,13 @@ public boolean isVirtual() { * {@code false} otherwise. * @see java.net.InetAddress#getAddress() */ + @Override public boolean equals(Object obj) { if (!(obj instanceof NetworkInterface that)) { return false; } - if (this.name != null ) { - if (!this.name.equals(that.name)) { - return false; - } - } else { - if (that.name != null) { - return false; - } + if (!Objects.equals(this.name, that.name)) { + return false; } if (this.addrs == null) { @@ -612,13 +608,10 @@ public boolean equals(Object obj) { return false; } - InetAddress[] thatAddrs = that.addrs; - int count = thatAddrs.length; - - for (int i=0; i