Skip to content

Commit dd65689

Browse files
committed
MethodParameter.equals accepts subclasses pointing to same target declaration again
Issue: SPR-14438
1 parent 04e9c2b commit dd65689

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

spring-core/src/main/java/org/springframework/core/MethodParameter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -579,7 +579,7 @@ public boolean equals(Object other) {
579579
if (this == other) {
580580
return true;
581581
}
582-
if (other == null || getClass() != other.getClass()) {
582+
if (!(other instanceof MethodParameter)) {
583583
return false;
584584
}
585585
MethodParameter otherParam = (MethodParameter) other;

spring-core/src/test/java/org/springframework/core/annotation/SynthesizingMethodParameterTests.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727

2828
/**
2929
* @author Juergen Hoeller
30+
* @since 5.0
3031
*/
3132
public class SynthesizingMethodParameterTests {
3233

@@ -69,8 +70,8 @@ public void testEquals() throws NoSuchMethodException {
6970
assertNotEquals(methodParameter, longParameter);
7071

7172
methodParameter = new MethodParameter(method, 0);
72-
assertNotEquals(stringParameter, methodParameter);
73-
assertNotEquals(methodParameter, stringParameter);
73+
assertEquals(stringParameter, methodParameter);
74+
assertEquals(methodParameter, stringParameter);
7475
assertNotEquals(longParameter, methodParameter);
7576
assertNotEquals(methodParameter, longParameter);
7677
}

0 commit comments

Comments
 (0)