Я подозреваю, что вам нужен тип отражения:
java.lang.reflect.Type
, вы можете использовать его следующим образом:
Type type = Integer.class;
или в сигнатуре метода, например:
public void test(Type type) {
который вы могли бы затем назвать как:
test(Integer.class)
Чтобы это работало, вам нужно было бы использовать не примитивные классы, поэтому для int вы должны использовать класс Integer. Строка в порядке, так как она не примитивна.
Если вам нужно проверить, что экземпляр переменной имеет определенный тип, вы можете использовать ключевое слово instanceof
, например:
if (type == String.class && parameterVariable instanceof String) {
stringField = parameterVariable;
}
(Вы возможно, передал parameterVariable
в метод как объект, так что это может быть, например, Integer или String). К сожалению, шаблон объявления, который вы предлагаете, по-моему, не поддерживается в java (рад, что его исправили).