谁能解释为什么第一个示例有效而第二个示例不起作用?
test {
jvmArgs '-Xdebug',
'-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=4000'
}
test {
jvmArgs.add('-Xdebug')
jvmArgs.add('-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=4000')
}
Run Code Online (Sandbox Code Playgroud)
因为在第二个示例中调用了该方法。您获取列表并对其进行修改,但更改不会反映到设置 -只读访问。在第一个示例中,调用此方法并设置传递的参数。
这是解释,返回列表的副本(出于安全原因 - 可变类型应始终作为副本返回)
public List<String> getJvmArgs() {
List<String> args = new ArrayList<String>();
for (Object extraJvmArg : extraJvmArgs) {
args.add(extraJvmArg.toString());
}
return args;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
748 次 |
| 最近记录: |