繁体   English   中英

Drools:如何在列表中获取字符串<String>

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM