我正在进行Java程序的分析,需要获取有关方法调用的副作用信息。对于标准库类,我想编译一个只读参数方法列表。也就是说,这些方法不修改它们的参数或任何与其参数相关联的内容。我可以从javadoc中推断出很多信息,但这需要时间。
是否有更简单的参考或方法来确定标准方法调用是否会修改它们的参数?阅读每个javadoc条目是否真的是最好的方法?
谢谢!
编辑: 额外的奖励是识别对对象没有副作用的方法。例如,stack.pop() 就是,而 stack.size() 不是。
是否有更简单的参考或方法来确定标准方法调用是否会修改它们的参数?阅读每个javadoc条目是否真的是最好的方法?
谢谢!
编辑: 额外的奖励是识别对对象没有副作用的方法。例如,stack.pop() 就是,而 stack.size() 不是。
String
是不可变的,但实现CharSequence
接口的类可能是可变的。 - Powerlord