我正在尝试这样做,但不起作用:
public static Class loadIt(String name) throws Throwable {
return Class.forName(name);
}
assert foo.loadIt("int") == int.class; // exception here
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
抱歉,这个不清楚的问题,但是我真的迷失了为什么我们isPrimitive()首先需要它,因为我不能使用它(对不起,我只是在需要时才不能使用它;(可悲的是在这里)。
在到处阅读文章后,我发现一些用法
int.class.isPrimitive()
Run Code Online (Sandbox Code Playgroud)
但我想吃点东西
boolean isTrue = true;
System.out.println(isTrue.class.isPrimitive());
System.out.println(Boolean.valueOf(isTrue).getClass().isPrimitive());
Run Code Online (Sandbox Code Playgroud)
我试图遍历对象的字段时检查类型;我现在能做的是
private static boolean isPrimitiveWrapper(Object obj) {
return obj.getClass() == Boolean.class ||
obj.getClass() == Byte.class ||
obj.getClass() == Character.class ||
obj.getClass() == Short.class ||
obj.getClass() == Integer.class ||
obj.getClass() == Long.class ||
obj.getClass() == Float.class ||
obj.getClass() == Double.class;
}
Run Code Online (Sandbox Code Playgroud)
但是在检查之后,我认为应该有问题,但是我不知道这是什么。
任何用例将不胜感激;)
我正在尝试不要太偏执...已经很努力了