Перегрузка является наиболее рекомендуемой опцией, в большинстве случаев вам не нужна функция, которая принимает переменные любого типа.
Но как насчет функции, которая принимает любые Object
?Возможно, вам придется использовать instanceof
и обрабатывать их в зависимости от типа данных.
Использование instanceof
: [Name of object instance] instanceof [Name of object type to match]
instanceof
возвращает boolean
: true
тогда и только тогда, когда тип экземпляра объекта соответствует типу для сопоставления.
Один пример функции или метода, который принимает «любой тип переменной»:
public static void method(Object obj) {
if (obj instanceof String)
System.out.println("I am a String!");
if (obj instanceof Integer)
System.out.println("I am an Integer!");
// Similarly for other types of Object
if (obj instanceof ... )
...
// The .getClass() is for any Object
System.out.println(obj.getClass());
}
Обратите внимание, что создание функциине допускающий использование переменных любого типа.