我有一个Object[]数组,我试图找到原始的数组.我试过用Class.isPrimitive(),但似乎我做错了什么:
int i = 3;
Object o = i;
System.out.println(o.getClass().getName() + ", " +
o.getClass().isPrimitive());
Run Code Online (Sandbox Code Playgroud)
打印java.lang.Integer, false.
有正确的方法或替代方案吗?
可能重复:
确定对象是否是基本类型
这可能听起来很蠢,但请原谅我,我正在使用讽刺的代码.给定一组对象,最好的方法是识别哪些是基元,或者更准确地说,是基元周围的包装器.
假设我要打印所有基元:
HashMap<String,Object> context = GlobalStore.getContext(); // Some bizarre, strangely populated context
for(Entry<String,Object> e : context.entrySet()){
if(e.value() instanceof PRIMITIVE){ // What goes here?
System.out.println(e);
}
}
Run Code Online (Sandbox Code Playgroud)
除了通过逐个枚举所有原语之外,这是否可行?