diff --git a/core-java-8/pom.xml b/core-java-8/pom.xml index aab349781a..20db1e1146 100644 --- a/core-java-8/pom.xml +++ b/core-java-8/pom.xml @@ -195,6 +195,16 @@ + + org.apache.maven.plugins + maven-compiler-plugin + 3.1 + + 1.8 + 1.8 + -parameters + + org.springframework.boot spring-boot-maven-plugin diff --git a/core-java-8/src/main/java/com/baeldung/reflect/Person.java b/core-java-8/src/main/java/com/baeldung/reflect/Person.java new file mode 100644 index 0000000000..b78536dc2c --- /dev/null +++ b/core-java-8/src/main/java/com/baeldung/reflect/Person.java @@ -0,0 +1,42 @@ +package com.baeldung.reflect; + +public class Person { + + private String firstName; + private String lastName; + private Integer age; + + public Person(String firstName, String lastName, Integer age) { + this.firstName = firstName; + this.lastName = lastName; + this.age = age; + } + + public Person() {} + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public Integer getAge() { + return age; + } + + public void setAge(Integer age) { + this.age = age; + } + + +} diff --git a/core-java-8/src/test/java/com/baeldung/reflect/MethodParamNameTest.java b/core-java-8/src/test/java/com/baeldung/reflect/MethodParamNameTest.java new file mode 100644 index 0000000000..be72762c1d --- /dev/null +++ b/core-java-8/src/test/java/com/baeldung/reflect/MethodParamNameTest.java @@ -0,0 +1,33 @@ +package com.baeldung.reflect; + +import static org.assertj.core.api.Assertions.assertThat; + +import java.lang.reflect.Parameter; +import java.util.Arrays; +import java.util.List; + +import static java.util.stream.Collectors.toList; +import org.junit.Test; + +public class MethodParamNameTest { + + @Test + public void whenGetConstructorParams_thenOk() throws NoSuchMethodException, SecurityException { + List parameters + = Arrays.asList( + Person.class.getConstructor(String.class, String.class, Integer.class) + .getParameters()); + List parameterNames + = parameters.stream().map(Parameter::getName).collect(toList()); + assertThat(parameterNames) + .containsExactlyInAnyOrder("lastName", "firstName", "age"); + } + + @Test + public void whenGetMethodParams_thenOk() throws NoSuchMethodException, SecurityException { + List parameters + = Arrays.asList( + Person.class.getMethod("setLastName", String.class).getParameters()); + assertThat(parameters.get(0).getName()).isEqualTo("lastName"); + } +}