如何知道字符串的值是否是Java数据类型

时间:2019-05-17 09:45:54

标签: java string

我有一个像这样的字符串tmp:String tmp = "value"; 我想知道tmp的值是否是Java中的数据类型,在这种情况下不是因为“值”不同,然后是“ int”或“ double” ... 但是如果tmp保留“ int”,则它是一种数据类型。 我想知道如何检查这一点,如果有枚举的Java数据类型请提及。

1 个答案:

答案 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;
}