За то, что вы пытаетесь сделать, вам лучше объявить метод аргумент как тип объекта, а не в строку, например:
public void checkType(Object var) {
// ..... Your code .....
}
Единственное, что вам нужно знать, что тип объекта был предоставлен для вашего конкретного кода метода. Вы можете сделать это довольно просто с одной строки кода, например:
public void checkType(Object var) {
String varType = var.getClass().getSimpleName().toUpperCase();
// ..... Your code .....
}
Заявленная переменная строка с именем VARTYPE будет содержать имя объекта поставки. Теперь вы можете использовать свой, если/то это или метод переключатель(), чтобы определить, что на самом деле поставляется, например:
public void checkType(Object var) {
String varType = var.getClass().getSimpleName().toUpperCase();
switch (varType) {
case "STRING":
// do String stuff
break;
case "INTEGER":
// do int stuff
break;
case "FLOAT":
// do float stuff
break;
case "DOUBLE":
// do double stuff
break;
case "BOOLEAN";
// do boolean stuff
break;
case "JLABEL":
// do JLabel stuff
// (any object can be supplied)
break;
}
}
Это должно сделать это, я думаю (ошибка отлова до вас).
Существует логическая проблема здесь, поскольку данный вход «число» может быть огнеупор в 'Integer',' Float' или 'Double'. В этом случае, какой из них вы выберете? Было бы лучше, если бы вызывающий абонент использовал определенный перегруженный метод для определенного типа. –
Ничего объектно-ориентированного. – duffymo
Лучший способ сделать это - реализовать свой вопрос, не так много, как вы думаете –