我有一个像这样的字符串tmp:String tmp = "value";
我想知道tmp
的值是否是Java中的数据类型,在这种情况下不是因为“值”不同,然后是“ int”或“ double” ...
但是如果tmp
保留“ int”,则它是一种数据类型。
我想知道如何检查这一点,如果有枚举的Java数据类型请提及。
答案 0 :(得分:0)
Java本身没有内置的原始数据类型列表(至少我不知道),但是幸运的是,它是一个很小的封闭列表,因此您可以自己创建它。对于任何非原始类,您都可以尝试在其上调用Class.forName
:
private static final Set<String> PRIMITIVES =
new HashSet<>(
Arrays.asList("byte", "char", "short", "int", "long", "float", "double", "boolean"));
public static boolean isType(String s) {
if (PRIMITIVES.contains(s)) {
return true;
}
try {
Class.forName(s);
} catch (ClassNotFoundException ignore) {
retrun false;
}
return true;
}