Java 在运行时使用Class.forName加载Weka类
我不想像这样将Weka分类器的名称硬编码到我的Java中:Java 在运行时使用Class.forName加载Weka类,java,string,weka,Java,String,Weka,我不想像这样将Weka分类器的名称硬编码到我的Java中: Classifier cls = new J48(); 其中分类器是Weka类 相反,我更喜欢将值“J48”存储在数据库表varchar列中 关于如何将包含“J48”的Java字符串转换为Weka类型,有什么想法吗?我尝试了一些失败的事情,比如: cls = Class.forName("weka.classifiers.trees.J48;"); J48是决策树的Weka类的名称。快速解决方案: Object obj = Cl
Classifier cls = new J48();
其中分类器是Weka类
相反,我更喜欢将值“J48”存储在数据库表varchar列中
关于如何将包含“J48”的Java字符串转换为Weka类型,有什么想法吗?我尝试了一些失败的事情,比如:
cls = Class.forName("weka.classifiers.trees.J48;");
J48是决策树的Weka类的名称。快速解决方案:
Object obj = Class.forName("weka.classifiers.trees.J48").newInstance();
Classifier cls = Class.forName("weka.classifiers.trees.J48").cast(obj);
J48应该有0个参数构造函数。这在技术上是相同的答案,但只是一个较短的单行版本
有一个更好的单线版本
Classifier classifier = AbstractClassifier.forName(className, options);
或以下内容适用于更新版本的Weka
Classifier classifier = Classifier.forName(className, options);
Classifier classifier = Classifier.forName(className, options);