使用Checker Framework,构造函数使用的方法可以采用带@UnderInitialization
注释的参数。
从非构造函数调用这样的方法并将@Initialized
参数传递给它会导致以下错误:
error: [argument.type.incompatible] incompatible types in argument.
found : @Initialized <Object>
required: @UnderInitialization <Object>
我不确定这是不是一个问题,因为传递一个@Initialized
值不应该有不良的副作用。
解决此错误的正确方法是什么?