gpt4 book ai didi

java - Checker 框架将 @Initialized 值作为 @UnderInitialization 参数传递

转载 作者:行者123 更新时间:2023-12-01 09:47:49 25 4
gpt4 key购买 nike

使用Checker Framework ,构造函数使用的方法可以采用 @UnderInitialization 带注释的参数。

从非构造函数调用此类方法并向其传递 @Initialized 参数会导致以下错误:

error: [argument.type.incompatible] incompatible types in argument.

found : @Initialized <Object>
required: @UnderInitialization <Object>

我不确定这是一个问题,因为传递 @Initialized 值不应该产生不良副作用。

解决此错误的正确方法是什么?

最佳答案

类型检查警告对我来说看起来很正确。

要了解此问题,请考虑 type hierarchy of the initialization type system @Initialized @UnderInitialization 是类型层次结构中的 sibling 。供应 @Initialized 不再合法当@UnderInitialization需要比提供 ListDate是必需的。

如果您的方法适用于已初始化的值和正在初始化的值,则您可以将其参数注释为 @UnknownInitialization 这是 @Initialized 的父类(super class)型和@UnderInitialization .

关于java - Checker 框架将 @Initialized 值作为 @UnderInitialization 参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37844418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com