そこでマーティンの答えを拡大したいと思います...
彼の解決策はかなりいいですが、任意の「変数の型」はそのように印刷することができるので、それを微調整することができます。(それは、実際に値タイプだトピックの詳細)。そうは言っても、「微調整された」というのはこれを強く意味する言葉かもしれません。とにかく、それは役立つかもしれません。
Martinsソリューション:
a.getClass().getName()
ただし、何かを操作したい場合は、次のようにします。
((Object) myVar).getClass().getName()
//OR
((Object) myInt).getClass().getSimpleName()
この場合、プリミティブは単にラッパーでラップされます。その場合、プリミティブのオブジェクトを取得します。
私自身は次のように使用しました:
private static String nameOf(Object o) {
return o.getClass().getSimpleName();
}
ジェネリックスの使用:
public static <T> String nameOf(T o) {
return o.getClass().getSimpleName();
}