碰巧我正在使用反射来解码一些用户字符串条目,在某些情况下它可能是一个简单的整数数字 (0-9),而其他时候它可能是对另一个类方法的调用。
在检查字符串输入userInput
以查看是否存在具有该名称的类时:
Class<?> c = Class.forName(this.getClass().getName() + "$" + userInput);
令我惊讶的是,当用户输入“1”或“2”Class.forName()
时,确实找到了一个具有该名称的类。这可能是基本的 Java,所以请原谅我问:这些类是什么?我使用调试器跟踪代码并检查了其他数字,似乎只定义了 1 和 2。