Java тип данных для типов данных - PullRequest
1 голос
/ 26 января 2020

Я хотел бы передать тип данных в метод, но я не могу найти тип данных для типов данных, я не уверен, что делать

Поэтому, когда я ссылаюсь на тип данных Я обращаюсь к части перед объявлением переменной, например: int myNumber;

Я хотел бы передать тип, чтобы метод мог принимать строку или int и распознавать их как тип данных, а не строку, вместо использования переключателей для каждого примитивного типа данных

я буду использовать метод для продолжения проверки входных данных вместо попытки, за исключением

По сути, я спрашиваю, что означает следующее подчеркивание:

_____ variable1 = String;

variable1 variable2 = “Words”;

И если есть способ сделать общий ввод c с помощью сканера вместо указания типа данных или указать тип данных с помощью переменной1

1 Ответ

2 голосов
/ 26 января 2020

Я подозреваю, что вам нужен тип отражения:
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 (рад, что его исправили).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...