1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        jExParserJava表達(dá)式解析求值程序

        聯(lián)合創(chuàng)作 · 2023-09-28 11:58

        jExParser 一個(gè)簡(jiǎn)單的Java表達(dá)式解析求值程序

        在jSqlBox項(xiàng)目開(kāi)發(fā)時(shí)寫(xiě)的一個(gè)簡(jiǎn)單的Java表達(dá)式解析求值程序,支持變量和參數(shù),現(xiàn)將源碼抽取出來(lái),沒(méi)有什么特別優(yōu)點(diǎn),唯一的長(zhǎng)處就是簡(jiǎn)單,直接中綴求值,僅三個(gè)文件700行源碼,無(wú)第三方庫(kù)依賴。因?yàn)楸容^簡(jiǎn)單而且通常用于二次開(kāi)發(fā),所以沒(méi)有做成包發(fā)布,如有項(xiàng)目中需要用到把源碼拷過(guò)去就可以用了。 用法如下(或參考單元測(cè)試):

          Map<String, Object> keywords = new HashMap<String, Object>();
          keywords.put("USERNAME", "Tom");
          keywords.put("ID", "001");
          Assert.assertEquals(true, new ExParser().doParse(keywords,
            "(1+2)*3/4>0.1/(9+?) and (userName equals ?) or id equals ?", 100, "Tom", "001"));

        ExParser類的doParse()方法解析一個(gè)表達(dá)式,返回類型可能為Boolean、Long、Double、String、null之一。 目前支持的操作符和函數(shù)如下:

        >  <  =  >=  <=  
        +  -  *  /  
        or  and  not  
        '  ( )  ?  0~9 . 
        equals  equalsIgnoreCase  contains  containsIgnoreCase  
        startWith  startWithIgnoreCase  endWith  endWithIgnoreCase
        瀏覽 25
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            久久亚洲综合国产精品99麻豆精品福利 | 久久精品国产亚洲AV成人婷婷 | 午夜视频黄 | 免费夜色污私人影院在线观看 | 白白嫩嫩美女高清毛片免费看 | 午夜福利一区二区三区 | 总裁含着她的乳尖h在线观看 | 毛片在线电影 | 男人一边吃奶一边做爰 | 久久久久久久久免费观看完整版 |