This commit is related to BAEL-6298 (#16323)

This commit aims to add three classes (Example, GenericExample, ReflectionExample).
This commit is contained in:
MohamedHelmyKassab 2024-04-08 18:39:32 +02:00 committed by GitHub
parent 1b0b87bfd2
commit 26f3664371
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 56 additions and 0 deletions

View File

@ -0,0 +1,13 @@
package com.baeldung.passclassasparameter;
public class Example {
public static void processClass(Class<?> clazz) {
System.out.println("Processing class: " + clazz.getName());
}
public static void main(String[] args) {
processClass(String.class);
processClass(Integer.class);
processClass(Double.class);
}
}

View File

@ -0,0 +1,22 @@
package com.baeldung.passclassasparameter;
import java.util.ArrayList;
import java.util.List;
public class GenericExample {
public static <T> void printListElements(Class<T> clazz, List<T> list) {
System.out.println("Elements of " + clazz.getSimpleName() + " list:");
for (T element : list) {
System.out.println(element);
}
}
public static void main(String[] args) {
List<String> stringList = new ArrayList<>();
stringList.add("Java");
stringList.add("is");
stringList.add("awesome");
printListElements(String.class, stringList);
}
}

View File

@ -0,0 +1,21 @@
package com.baeldung.passclassasparameter;
import java.lang.reflect.Method;
public class ReflectionExample {
public static void processClass(Class<?> clazz, String methodName) throws Exception {
Method method = clazz.getMethod(methodName);
Object instance = clazz.getDeclaredConstructor().newInstance();
method.invoke(instance);
}
public static void main(String[] args) throws Exception {
processClass(ReflectionTarget.class, "sayHello");
}
}
class ReflectionTarget {
public void sayHello() {
System.out.println("Hello, Reflection!");
}
}