微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

获取所有Java保留关键字的列表

我正在寻找一种方法来将 Java中保存的所有关键字检索到某种数据结构中.例如:“for,while,if,else,int,double等”

我需要对字符串进行名称验证,具体来说,我需要确保它不等于任何java关键字.

有没有一种特定的方法可以将所有关键字检索到一个数据结构中?或者我是否需要构建一个包含所有这些关键字的正则表达式字符串:“for | while | if | …”并尝试匹配我的字符串?

谢谢

解决方法

axis.apache.org

基本上,对关键字进行预排序并将其存储在一个数组中,并在关键字上使用Arrays.binarySearch以获得good’ol O(logn)复杂度

import java.util.Arrays;

    public class MainDemo {
        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) >= 0);
        }

        //Main method
        public static void main(String[] args) {
            System.out.println(isJavaKeyword("void"));

        }

    }

输出

真正

原文地址:https://www.jb51.cc/java/127822.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐