Горячо использовать класс returnType, полученный посредством отражения?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Горячо использовать класс returnType, полученный посредством отражения?

Сообщение Anonymous »

Я использую отражение, чтобы получить возвращаемый тип метода, который является String.
Когда я вызываю функцию, мне нужно привести возвращаемое значение к String.
Как я могу это сделать без явного использования String и вместо этого использовать returnType, полученный посредством отражения?
И почему эта строка не работает. Разве это не то же самое, что String.class.cast()
Class.forName("String").cast(method2.invoke(personObject, "Susan", 40));

Main.java
//GET METHOD BY NAME & PARAMETER TYPES
Class[] parameterTypes = new Class[] {String.class, int.class};
Method method2 = personClass.getDeclaredMethod("sayHelloTo", parameterTypes);

Class returnType = method2.getReturnType();

String hello1 = (String) method2.invoke(personObject, "Susan", 40);
String hello2 = (java.lang.Strin) method2.invoke(personObject, "Susan", 40);
String hello2 = String.class.cast(method2.invoke(personObject, "Susan", 40));

String hello2 = Class.forName("String").cast(method2.invoke(personObject, "Susan", 40));

Person.java
public class Person {

public String sayHelloTo(String name, int age) {
return "Hello " + name + ", you are " + age + " years old";
}

}


Подробнее здесь: https://stackoverflow.com/questions/787 ... reflection
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»