How to validate if a string would be a valid java variable?

前端 未结 2 1634
别跟我提以往
别跟我提以往 2021-01-11 10:14

How can I best check if a string input would be a valid java variable for coding? I\'m sure I\'m not the first one who is willing to do this. But maybe I\'m missing the righ

2条回答
  •  说谎
    说谎 (楼主)
    2021-01-11 11:03

    public static boolean isValidJavaIdentifier(String s) {
        if (s.isEmpty()) {
            return false;
        }
        if (!Character.isJavaIdentifierStart(s.charAt(0))) {
            return false;
        }
        for (int i = 1; i < s.length(); i++) {
            if (!Character.isJavaIdentifierPart(s.charAt(i))) {
                return false;
            }
        }
        return true;
    }
    

    EDIT: and, as @Joey indicates, you should also filter out keywords and reserved words.

提交回复
热议问题