假设我声明了一个变量:
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 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读