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");
+ }
+}