假设我声明了一个变量:
String a = "test";
我想知道它是什么类型,即输出应该是 java.lang.String
我该怎么做?
原文由 Miguel Ribeiro 发布,翻译遵循 CC BY-SA 4.0 许可协议
假设我声明了一个变量:
String a = "test";
我想知道它是什么类型,即输出应该是 java.lang.String
我该怎么做?
原文由 Miguel Ribeiro 发布,翻译遵循 CC BY-SA 4.0 许可协议
扩展马丁的答案……
马丁解决方案
a.getClass().getName()
扩展解决方案
如果你想让它与任何东西一起工作,你可以这样做:
((Object) myVar).getClass().getName()
//OR
((Object) myInt).getClass().getSimpleName()
在基本类型的情况下,它将被包装(自动装箱)在相应的对象变体中。
示例 #1(常规)
private static String nameOf(Object o) {
return o.getClass().getSimpleName();
}
示例 #2(泛型)
public static <T> String nameOf(T o) {
return o.getClass().getSimpleName();
}
额外学习
原文由 Atspulgs 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答1.2k 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决
1 回答2.5k 阅读✓ 已解决
2 回答715 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.7k 阅读
2 回答1.3k 阅读