首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java是否有内置方法来确定标识符是否合法?

问Java是否有内置方法来确定标识符是否合法?
EN

Software Engineering用户
提问于 2013-09-07 20:48:20
回答 4查看 4.4K关注 0票数 4

例如,命名变量或类必须遵守某些规则(例如不允许关键字或保留字作为标识符)。

我真的不想编码我自己的方法来做这样的事情。java有内置的东西吗?

我的目标是构建表达式生成器/代码生成器。它将识别用户指定的变量,这些变量必须符合java的标识符规则,或者向用户提供一个警告来重命名他的变量。

EN

回答 4

Software Engineering用户

回答已采纳

发布于 2013-09-07 21:00:39

你会想看看JavaUtils.isJavaKeyword() ..。不过,它不是Java的一部分,而是Apache轴的一部分。

票数 5
EN

Software Engineering用户

发布于 2018-10-16 17:28:11

要检查单个字符/代码点:

要检查完整标识符,请执行以下操作:

在处理源文件时,请记住标识符的一部分可以是unicode转义。上述方法没有考虑到这一点。

示例:

Main.java

代码语言:javascript
复制
class Main {
    // Field 'foo'
    private String \u0066oo;
}
票数 9
EN

Software Engineering用户

发布于 2013-09-07 21:18:24

我想我会借用JavaUtils代码:)

代码语言:javascript
复制
static final Collator englishCollator = Collator.getInstance(Locale.ENGLISH);
static final String keywords[] = {
                 "abstract",  "assert",       "boolean",    "break",      "byte",      "case",
                 "catch",     "char",         "class",      "const",     "continue",
                 "default",   "do",           "double",     "else",      "extends",
                 "false",     "final",        "finally",    "float",     "for",
                 "goto",      "if",           "implements", "import",    "instanceof",
                 "int",       "interface",    "long",       "native",    "new",
                 "null",      "package",      "private",    "protected", "public",
                 "return",    "short",        "static",     "strictfp",  "super",
                 "switch",    "synchronized", "this",       "throw",     "throws",
                 "transient", "true",         "try",        "void",      "volatile",
                 "while"
             };


     public static boolean isJavaKeyword(String keyword) {
                return (Arrays.binarySearch(keywords, keyword, englishCollator) >= 0);
     } 
票数 3
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/210806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档