GCC支持使用属性warn_unused_result声明方法,以便任何不保存方法返回值的调用方都会收到警告。
Java有没有类似功能?
答案 0 :(得分:2)
不,Java没有这样的功能。
这可以通过FindBugs等静态代码分析工具完成,基于方法的注释,但我不认为存在这样的规则。但是你可以创建一个:FindBugs是免费软件。
FindBugs对File.delete()
之类的特定API调用进行了类似的检查(如果忽略该方法的结果,它会抛出警告。请参阅http://findbugs.sourceforge.net/bugDescriptions.html#RV_RETURN_VALUE_IGNORED_BAD_PRACTICE)。所以你可以把这个规则作为一个例子。
答案 1 :(得分:1)
据我所知,没有这样的东西,但是一些IDE如IntelliJ IDEA警告你一些已知的方法(例如String上返回另一个String的方法)。