reflection ×10
Создан 04.01.2025
0
голоса
2
ответов
3
просмотров
Вывод типа с помощью рефлексии для лямбд в Java 8

Заголовок: Как получить возвращаемый тип лямбда-функции с использованием рефлексии в Java 8?

Я экспериментировал с новыми лямбда-выражениями в Java 8 и пытаюсь выяснить, как с помощью рефлексии узнать возвращаемый тип класса лямбда-функции. Особенно меня интересуют случаи, когда лямбда реализует...

0
голоса
5
ответов
0
просмотров
Выполнение кода, содержащегося в строке

У меня есть фрагмент кода на Java, который хранится в строке.

String javaCode = "if(polishScreenHeight >= 200 && " +
                  "polishScreenHeight = 220) { }";

Можно ли преобразовать эту строку в оператор Java и выполнить его? Возможно, с использованием рефлексии в Java?

6
голоса
5
ответов
40
просмотров
Как перечислить все функции в модуле?

У меня установлен модуль на Python, и я хотел бы узнать, какие функции/классы/методы доступны в нем.

Я хочу вызвать функцию help для каждого из них. В Ruby я могу сделать что-то вроде ClassName.methods, чтобы получить список всех методов, доступных в этом классе. Есть ли что-то подобное в...

5
голоса
5
ответов
13
просмотров
Изменение приватного статического финального поля с помощью рефлексии в Java

У меня есть класс с полем private static final, которое, к сожалению, мне нужно изменить во время выполнения программы.

При использовании рефлексии я получаю следующую ошибку: java.lang.IllegalAccessException: Can not set static final boolean field.

Существует ли способ изменить значение...

5
голоса
5
ответов
12
просмотров
Как получить значение закрытого поля из другого класса в Java?

У меня есть плохо спроектированный класс в стороннем JAR, и мне нужно получить доступ к одному из его приватных полей. Например, возникает вопрос, почему я должен выбирать приватное поле и нужно ли это делать?

class IWasDesignedPoorly { private Hashtable stuffIWant; }

IWasDesignedPoorly obj =...

7
голоса
5
ответов
21
просмотров
Как вызвать метод Java по имени, представленному в виде строки?

У меня есть две переменные:

Object obj;
String methodName = "getName";

Как я могу вызвать метод, указанный в переменной methodName, на объекте obj, не зная при этом класс obj?

Метод, который я хочу вызвать, не принимает параметров и возвращает значение типа String. Это...

6
голоса
5
ответов
32
просмотров
Получить обобщённый тип класса во время выполнения

Вопрос: Как мне добиться этого?

Я создал обобщенный класс GenericClass, и сейчас у меня возникла проблема с тем, как вернуть тип параметра типа T. Вот код, который у меня есть:

public class GenericClass
{
    public Type getMyType()
    {
        // Как мне вернуть тип T?
   ...
12
голоса
5
ответов
36
просмотров
Как создать обобщённый массив в Java?

Описание проблемы:

Из-за реализации обобщений в Java невозможно создать массив обобщенного типа напрямую, как показано в нижеследующем коде:

public class GenSet {
    private E a[];

    public GenSet() {
        a = new E[INITIAL_ARRAY_LENGTH]; // Ошибка: создание массива с...
25
голоса
5
ответов
42
просмотров
Что такое рефлексия и зачем она нужна?

Что такое рефлексия и почему она полезна? Меня особенно интересует Java, но я предполагаю, что принципы одинаковы для любого языка.

24
голоса
5
ответов
26
просмотров
Вызов функции модуля по его имени (строке)

Как вызвать функцию, используя строку с именем функции? Например:

import foo
func_name = "bar"
call(foo, func_name)  # должно вызвать foo.bar()

Мне нужно знать, как реализовать такой вызов функции в Python.