【发布时间】: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