[英]Drools : How to get String in List<String>
我想在List <String>中获取String,但是没有用。
流口水法则
import schedule.Schedule
import schedule.Control_Exam_List
rule "People"
salience 5
when
$controlExamList : Control_Exam_List( ) from accumulate( $scheduleCheck : Schedule( $scheduleCECheck1 : control1 , $scheduleCECheck2 : control2 , $scheduleCECheck3 : control3 ) ,
init( Control_Exam_List CEL = new Control_Exam_List(); ),
action( CEL.addData($scheduleCECheck1); CEL.addData($scheduleCECheck2); CEL.addData($scheduleCECheck3); ),
result( CEL ) )
then
System.out.println("Test1: "+$controlExamList);
end
结果返回列表,但我从该列表中获取了所有字符串。
结果:静止列表<字符串>
Test1: schedule.Control_Exam_List@22916a
Control_Exam_List类:List <字符串>
import java.util.ArrayList;
import java.util.List;
public class Control_Exam_List {
private List<String> code = new ArrayList<String>();
public void addData(String code){
if(this.code.contains(code) != true && !code.equals(""))
this.code.add(code);
}
public List<String> getCode() {
return code;
}
}
时间表类:从该类中累积
public class Schedule {
private String control1 = "", control2 = "", control3 = "";
public String getControl1() {
return control1;
}
public String getControl2() {
return control2;
}
public String getControl3() {
return control3;
}
public void setControlExam1(String ce_code) {
this.control1 = ce_code;
}
public void setControlExam2(String ce_code) {
this.control2 = ce_code;
}
public void setControlExam3(String ce_code) {
this.control3 = ce_code;
}
}
这几乎就像您在Java中所做的那样,将$controlExamList
绑定到Control_Exam_List
对象。 尽管在Drools中,您可能必须强制转换:
then
for( Object obj: $controlExamList.getCode() ){
System.out.println( (String)obj );
}
end
但您也可以尝试:
then
for( String str: $controlExamList.getCode() ){
System.out.println( str );
}
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.