任何人都可以告诉我groovy的区别吗?

时间:2013-02-16 07:48:12

标签: groovy

我正在学习Groovy以在Soap UI中使用它。

我想知道[]()之间的基本区别以及它将在何处使用。

[] - 我知道它是一个数组..

典型的例如,

()用法:

def r = testRunner.testCase.testSuite.getTestCaseByName("Session").getTestStepByName("InvalidLoginAttempt").run(testRunner, context);

[]用法:

def r = testRunner.testCase.testSuite.testCases["Login"].getTestStepByName("InvalidLoginAttempt").run(testRunner, context);

1 个答案:

答案 0 :(得分:3)

欢迎使用Groovy编程!

在对象旁边使用[]时,它会调用对象的基础getAt()方法。

括号用于调用方法,因此可以用于调用getAt方法。它因实施而异。

您可以将其视为语法糖,因此您无需调用整个方法。例如,关于arraylists:

def list = [10, 20, 30, 40]

assert list[2] == 30
assert list.getAt(3) == 40
assert list.get(0) == 10

它们都有效,但[]符号更短。

我敢打赌,SoapUI :: TestCases getAt可能会调用getTestCaseByName,因此它们是同一操作的别名。

另外值得注意的是:[]在分配给变量时会创建一个ArrayList。当使用等号(list[0] = 90)时,它会调用对象/集合的setAt()方法。