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

I'm looking for a way to retrieve all the saved keywords in Java into some kind of data structure. For example: "for, while, if, else, int, double, etc."

I need to do a name validation on a string, to be specific, I need to make sure it does not equal to any java keywords.

Is there a specific way of retrieving all the keywords into one data structure? or do I need to just build a regex string with all these keywords in it : "for|while|if|..." and try and match my string against it?

Thanks

解决方案

Basically, Pre-Sort the keywords and store it in an array and using Arrays.binarySearch on your keyword for the good'ol O(logn) complexity

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"));

}

}

Output:

True

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值