代码之家  ›  专栏  ›  技术社区  ›  ChanGan

如何使用Groovy在ArrayList中再添加一个字符串?

  •  0
  • ChanGan  · 技术社区  · 8 年前

     def dispositionNames = ["ApproveFraud","ApproveNonFraud","System Error"]
       log.info(dispositionNames.getClass().getSimpleName())
       log.info(context.testCase.getPropertyValue("v_manageCustomText"))
       if(context.testCase.getPropertyValue("v_manageCustomDisposition") !="")
        {
        value = context.testCase.getPropertyValue("v_manageCustomDisposition") 
        dispositionNames = dispositionNames.add(value)
        log.info dispositionNames
        log.info(dispositionNames.getClass().getSimpleName())
        }
    

    Mon Oct 30 15:48:43 IST 2017:INFO:CustomDisposition1509102136431
    Mon Oct 30 15:48:43 IST 2017:INFO:true
    Mon Oct 30 15:48:43 IST 2017:INFO:Boolean
    
    1 回复  |  直到 8 年前
        1
  •  1
  •   AlexM    8 年前

    Groovy是一种“弱类型语言”,这意味着一方面不需要定义变量的类型。另一方面,如果为变量分配不同类型的值,则该变量可能会在运行中期发生变化。

    http://groovy-lang.org/semantics.html

    正如@adamcooney提到的,你使用了这句话:

    dispositionNames = dispositionNames.add(value)
    

    它执行添加 value dispositionNames . 然后返回 true add 手术成功。

    处置名称 List Boolean . 这就是为什么你会看到这种行为。