我正在尝试编写一个方法,该方法将采用单个字符串并(如果可能)返回它对应的虚拟键码。
例如:
private static int getKeyCode(final String key) {
if(key.length != 1)
throw new IllegalArgumentException("Only support single characters");
// Also check to see if the 'key' is (1-9)(A-Z), otherwise exception
// How to perform the conversion?
}
// Returns KeyEvent.VK_D
MyKeyUtils.getKeyCode("D");
因此,传递MyKeyUtils.getKeyCode("blah")
会抛出一个,IllegalArgumentException
因为“blah”有 4 个字符。此外,传递MyKeyUtils.getKeyCode("@")
会引发相同的异常,因为“@”既不是数字 0-9 也不是字符 A - Z。
任何想法如何进行正则表达式检查以及实际转换?提前致谢!