Я погоджуюся з тим, що сказав Йоахім Зауер, не можна знати (тип змінної! Не значення типу!), Якщо ваша змінна не є атрибутом класу (і вам доведеться отримати поля класу, отримати потрібне поле за назвою ...)
Насправді для мене абсолютно неможливо, щоб будь-який a.xxx().yyy()
метод дав тобі правильну відповідь, оскільки відповідь була б різною на точно той самий об’єкт, відповідно до контексту, в якому ти називаєш цей метод ...
Як сказав teehoo, якщо ви знаєте при складанні визначеного списку типів для тестування, ви можете використовувати instanceof, але ви також отримаєте підкласи, що повертаються справжніми ...
Одним з можливих рішень було б також надихнути себе на реалізацію java.lang.reflect.Field
та створити свій власний Field
клас, а потім оголосити всі ваші локальні змінні як цю власну Field
реалізацію ... але вам краще знайти інше рішення, я дійсно цікавлюсь, навіщо вам потрібна змінна тип, а не лише тип значення?