將字串轉換為可執行程式碼:Java 編譯器API 之旅
在程式設計領域,需要將字串轉換為可編譯的程式碼。其中一種情況涉及檢索儲存在資料庫中的比較表達式並在條件結構中進行評估。
為了進行這項工作,Java 6 透過 Java 編譯器 API 提供了一個解決方案。透過利用 JavaCompiler 類,可以直接在記憶體中建構 Comparator 物件的原始碼。
警告: 由於潛在的安全問題,在處理任意 Java 程式碼時請小心謹慎。
Java 編譯器API 實際應用
看一眼進入正在運行的Java 編譯器API:
String comparableClassName = ...; String comparatorClassName = ...; String source = "public class " + comparatorClassName + " implements Comparable<" + comparableClassName + "> {" + " public int compare(" + comparableClassName + " a, " + comparableClassName + " b) {" + " return " + expression + ";" + " }" + "}"; //... Comparator comparator = (Comparator) Class.forName(comparableClassName).newInstance();
這種新發現的借助功能,您可以輕鬆地將Java 表達式儲存在資料庫中,相應地引用“a”和“b”。
以上是Java 編譯器 API 如何將資料庫字串轉換為可執行的比較器程式碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!