【问题标题】:Issue in def variable while performing sort in Karate Framework在空手道框架中执行排序时出现 def 变量问题
【发布时间】:2020-05-21 00:41:26
【问题描述】:

我注意到,在将 def 作为列表传递以进行简单排序时,我观察到除了返回值之外,原始变量也被排序。

* def original = ['a','b','c']

* def javaInstance = new (Java.type('package.subpackage.StringSort'))
* def sortedContent = javaInstance.m1(original,'desc');

* print sortedContent 
* print original

“sortedContent”和“original” def 变量均已排序。

下面是java fn:

public class StringSort {
  public List<String> m1(List<String> s, String order) {

    Collections.sort(s);

    if(order.equals("asc"))
        return s;
    else {
        Collections.reverse(s);
        return s;
    }       
}
}

输出: 排序内容 = ['c','b','a'] 原文 = ['c','b','a']

我不明白为什么要对原始 def 变量进行排序。

【问题讨论】:

    标签: karate


    【解决方案1】:

    Java works就是这样。创建clone

    * def original = ['a','b','c']
    * copy temp = original
    

    【讨论】:

      猜你喜欢
      • 2023-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-26
      • 1970-01-01
      • 1970-01-01
      • 2016-06-25
      • 2021-02-16
      相关资源
      最近更新 更多