diff --git a/spring-aop/src/main/java/org/springframework/aop/framework/AdvisedSupport.java b/spring-aop/src/main/java/org/springframework/aop/framework/AdvisedSupport.java index f91792694f06..58a603167333 100644 --- a/spring-aop/src/main/java/org/springframework/aop/framework/AdvisedSupport.java +++ b/spring-aop/src/main/java/org/springframework/aop/framework/AdvisedSupport.java @@ -731,7 +731,7 @@ public Advice getAdvice() { } @Override - public boolean equals(Object other) { + public boolean equals(@Nullable Object other) { return (this == other || (other instanceof AdvisorKeyEntry that && this.adviceType == that.adviceType && ObjectUtils.nullSafeEquals(this.classFilterKey, that.classFilterKey) && diff --git a/spring-aop/src/main/java/org/springframework/aop/support/ClassFilters.java b/spring-aop/src/main/java/org/springframework/aop/support/ClassFilters.java index e778a4fc8646..f5a5c1290a70 100644 --- a/spring-aop/src/main/java/org/springframework/aop/support/ClassFilters.java +++ b/spring-aop/src/main/java/org/springframework/aop/support/ClassFilters.java @@ -198,7 +198,7 @@ public boolean matches(Class clazz) { } @Override - public boolean equals(Object other) { + public boolean equals(@Nullable Object other) { return (this == other || (other instanceof NegateClassFilter that && this.original.equals(that.original))); } diff --git a/spring-aop/src/main/java/org/springframework/aop/support/MethodMatchers.java b/spring-aop/src/main/java/org/springframework/aop/support/MethodMatchers.java index 210740dde0f1..f059efa375cc 100644 --- a/spring-aop/src/main/java/org/springframework/aop/support/MethodMatchers.java +++ b/spring-aop/src/main/java/org/springframework/aop/support/MethodMatchers.java @@ -378,7 +378,7 @@ public boolean matches(Method method, Class targetClass, @Nullable Object... } @Override - public boolean equals(Object other) { + public boolean equals(@Nullable Object other) { return (this == other || (other instanceof NegateMethodMatcher that && this.original.equals(that.original))); } diff --git a/spring-context/src/main/java/org/springframework/scheduling/support/BitsCronField.java b/spring-context/src/main/java/org/springframework/scheduling/support/BitsCronField.java index 6a5878d43604..59043762dc46 100644 --- a/spring-context/src/main/java/org/springframework/scheduling/support/BitsCronField.java +++ b/spring-context/src/main/java/org/springframework/scheduling/support/BitsCronField.java @@ -247,7 +247,7 @@ private void clearBit(int index) { @Override - public boolean equals(Object other) { + public boolean equals(@Nullable Object other) { return (this == other || (other instanceof BitsCronField that && type() == that.type() && this.bits == that.bits)); } diff --git a/spring-core/src/main/java/org/springframework/core/io/buffer/JettyDataBuffer.java b/spring-core/src/main/java/org/springframework/core/io/buffer/JettyDataBuffer.java index 5b2f30e0f6af..609c954e85cf 100644 --- a/spring-core/src/main/java/org/springframework/core/io/buffer/JettyDataBuffer.java +++ b/spring-core/src/main/java/org/springframework/core/io/buffer/JettyDataBuffer.java @@ -300,7 +300,7 @@ public String toString(int index, int length, Charset charset) { @Override - public boolean equals(Object other) { + public boolean equals(@Nullable Object other) { return (this == other || (other instanceof JettyDataBuffer otherBuffer && this.delegate.equals(otherBuffer.delegate))); } diff --git a/spring-test/src/main/java/org/springframework/test/context/bean/override/BeanOverrideContextCustomizer.java b/spring-test/src/main/java/org/springframework/test/context/bean/override/BeanOverrideContextCustomizer.java index 56154049634b..883b5dc25d3f 100644 --- a/spring-test/src/main/java/org/springframework/test/context/bean/override/BeanOverrideContextCustomizer.java +++ b/spring-test/src/main/java/org/springframework/test/context/bean/override/BeanOverrideContextCustomizer.java @@ -18,6 +18,8 @@ import java.util.Set; +import org.jspecify.annotations.Nullable; + import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.test.context.ContextCustomizer; @@ -69,7 +71,7 @@ Set getBeanOverrideHandlers() { } @Override - public boolean equals(Object other) { + public boolean equals(@Nullable Object other) { if (other == this) { return true; } diff --git a/spring-test/src/main/java/org/springframework/test/context/bean/override/BeanOverrideHandler.java b/spring-test/src/main/java/org/springframework/test/context/bean/override/BeanOverrideHandler.java index 3b92f19bc1f2..259420163fc5 100644 --- a/spring-test/src/main/java/org/springframework/test/context/bean/override/BeanOverrideHandler.java +++ b/spring-test/src/main/java/org/springframework/test/context/bean/override/BeanOverrideHandler.java @@ -369,7 +369,7 @@ protected void trackOverrideInstance(Object override, SingletonBeanRegistry sing } @Override - public boolean equals(Object other) { + public boolean equals(@Nullable Object other) { if (other == this) { return true; } diff --git a/spring-web/src/main/java/org/springframework/http/ETag.java b/spring-web/src/main/java/org/springframework/http/ETag.java index 873e48e53852..0d8a2871a014 100644 --- a/spring-web/src/main/java/org/springframework/http/ETag.java +++ b/spring-web/src/main/java/org/springframework/http/ETag.java @@ -21,6 +21,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.jspecify.annotations.Nullable; import org.springframework.util.StringUtils; @@ -68,7 +69,7 @@ public boolean compare(ETag other, boolean strong) { } @Override - public boolean equals(Object other) { + public boolean equals(@Nullable Object other) { return (this == other || (other instanceof ETag oet && this.tag.equals(oet.tag) && this.weak == oet.weak)); } diff --git a/spring-web/src/main/java/org/springframework/http/HttpHeaders.java b/spring-web/src/main/java/org/springframework/http/HttpHeaders.java index 9b1663a0bac8..7342cf0e777b 100644 --- a/spring-web/src/main/java/org/springframework/http/HttpHeaders.java +++ b/spring-web/src/main/java/org/springframework/http/HttpHeaders.java @@ -2331,7 +2331,7 @@ public List setValue(List value) { } @Override - public boolean equals(Object o) { + public boolean equals(@Nullable Object o) { if (this == o) { return true; } diff --git a/spring-web/src/main/java/org/springframework/web/accept/SemanticApiVersionParser.java b/spring-web/src/main/java/org/springframework/web/accept/SemanticApiVersionParser.java index fcf5c976a693..17245b1ce0bb 100644 --- a/spring-web/src/main/java/org/springframework/web/accept/SemanticApiVersionParser.java +++ b/spring-web/src/main/java/org/springframework/web/accept/SemanticApiVersionParser.java @@ -19,6 +19,8 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.jspecify.annotations.Nullable; + import org.springframework.util.Assert; /** @@ -106,7 +108,7 @@ public int compareTo(SemanticApiVersionParser.Version other) { } @Override - public boolean equals(Object other) { + public boolean equals(@Nullable Object other) { return (this == other || (other instanceof Version otherVersion && this.major == otherVersion.major && this.minor == otherVersion.minor && diff --git a/spring-web/src/main/java/org/springframework/web/service/invoker/HttpServiceMethod.java b/spring-web/src/main/java/org/springframework/web/service/invoker/HttpServiceMethod.java index 3c8083252faf..4982c59471b6 100644 --- a/spring-web/src/main/java/org/springframework/web/service/invoker/HttpServiceMethod.java +++ b/spring-web/src/main/java/org/springframework/web/service/invoker/HttpServiceMethod.java @@ -364,7 +364,7 @@ private static class AnnotationDescriptor { } @Override - public boolean equals(Object obj) { + public boolean equals(@Nullable Object obj) { return (obj instanceof AnnotationDescriptor that && this.httpExchange.equals(that.httpExchange)); } diff --git a/spring-web/src/main/java/org/springframework/web/util/WhatWgUrlParser.java b/spring-web/src/main/java/org/springframework/web/util/WhatWgUrlParser.java index fd4a4d44dd19..e8cc4af3311b 100644 --- a/spring-web/src/main/java/org/springframework/web/util/WhatWgUrlParser.java +++ b/spring-web/src/main/java/org/springframework/web/util/WhatWgUrlParser.java @@ -2019,7 +2019,7 @@ else if (!hasOpaquePath() && } @Override - public boolean equals(Object obj) { + public boolean equals(@Nullable Object obj) { if (obj == this) { return true; } @@ -2160,7 +2160,7 @@ public String domain() { } @Override - public boolean equals(Object o) { + public boolean equals(@Nullable Object o) { if (o == this) { return true; } @@ -2207,7 +2207,7 @@ public IpAddress address() { } @Override - public boolean equals(Object obj) { + public boolean equals(@Nullable Object obj) { if (obj == this) { return true; } @@ -2271,7 +2271,7 @@ public static OpaqueHost parse(String input, WhatWgUrlParser p) { } @Override - public boolean equals(Object obj) { + public boolean equals(@Nullable Object obj) { if (obj == this) { return true; } @@ -2304,7 +2304,7 @@ private EmptyHost() { } @Override - public boolean equals(Object obj) { + public boolean equals(@Nullable Object obj) { return obj == this || obj != null && getClass() == obj.getClass(); } @@ -2503,7 +2503,7 @@ else if (ch0 == '0') { @Override - public boolean equals(Object o) { + public boolean equals(@Nullable Object o) { if (o == this) { return true; } @@ -2812,7 +2812,7 @@ else if (start >= 0) { } @Override - public boolean equals(Object obj) { + public boolean equals(@Nullable Object obj) { if (obj == this) { return true; } @@ -2978,7 +2978,7 @@ public Path clone() { } @Override - public boolean equals(Object o) { + public boolean equals(@Nullable Object o) { if (o == this) { return true; } @@ -3073,7 +3073,7 @@ public String name() { } @Override - public boolean equals(Object o) { + public boolean equals(@Nullable Object o) { if (o == this) { return true; } diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerMapping.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerMapping.java index 4f770ee32e94..c91b12891297 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerMapping.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerMapping.java @@ -529,7 +529,7 @@ private static class AnnotationDescriptor { } @Override - public boolean equals(Object obj) { + public boolean equals(@Nullable Object obj) { return (obj instanceof AnnotationDescriptor that && this.annotation.equals(that.annotation)); } diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/RequestMappingHandlerMapping.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/RequestMappingHandlerMapping.java index 5a12aa56c966..79a7ef4fe9c4 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/RequestMappingHandlerMapping.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/RequestMappingHandlerMapping.java @@ -582,7 +582,7 @@ private static class AnnotationDescriptor { } @Override - public boolean equals(Object obj) { + public boolean equals(@Nullable Object obj) { return (obj instanceof AnnotationDescriptor that && this.annotation.equals(that.annotation)); }