偶然我正在使用反射來解碼某些用戶字符串條目,它可能在某些情況下是一個簡單的整數數字(0-9),其他時間可能是對其他類方法的調用。
在檢查字符串輸入userInput
,看是否有該名稱的類存在:
Class<?> c = Class.forName(this.getClass().getName() + "$" + userInput);
和我的驚訝,當用戶輸入「1」或「2」 Class.forName()
的確發現一類具有該名稱。這可能是基本的Java,請原諒我問:這些類是什麼? 我跟着調試器的代碼,並檢查其他數字,只有1和2似乎被定義。