Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java注释将参数约束放在netbeans中的方法上_Java_Netbeans_Parameters_Annotations - Fatal编程技术网

Java注释将参数约束放在netbeans中的方法上

Java注释将参数约束放在netbeans中的方法上,java,netbeans,parameters,annotations,Java,Netbeans,Parameters,Annotations,众所周知,通过反射,您可以检查带注释的方法是否具有所需的参数。是否可以设置一些东西,以便在我的IDE Netbeans中验证所述带注释的方法是否具有所需的参数,并在该方法不满足注释要求时将其突出显示为错误或警告 例如: @Manifest (decoder = GameDecoder.class, opcode = 12, size = 0) public class PingRequest { @Incoming public void receive(ChannelHand

众所周知,通过反射,您可以检查带注释的方法是否具有所需的参数。是否可以设置一些东西,以便在我的IDE Netbeans中验证所述带注释的方法是否具有所需的参数,并在该方法不满足注释要求时将其突出显示为错误或警告

例如:

@Manifest (decoder = GameDecoder.class, opcode = 12, size = 0)
public class PingRequest {

    @Incoming
    public void receive(ChannelHandlerContext ctx, ByteBuf buf) {

    }

    @Outgoing
    public void prepare(ByteBuf bb) {

    }

}
这两个方法需要具有指定的参数,但是您可以在不使用这些参数的情况下键入方法,Netbeans不会像预期的那样说任何话,因为这没有错,但是在运行时,它们不会被使用,因为它们没有所需的参数


我这样做是为了让我的网络完全是POJO,但是如果Netbeans不能告诉我这些带注释的方法中所需的参数,那么我可能会使用一个接口或其他东西来指定一个约定,说明这些方法需要这些参数。

在Java中为类指定约定的正确方法是定义一个接口,并使类实现该接口。你应该这样做。编译器将检查该类是否具有所有必需的方法以及相应的参数。我认为任何IDE都不允许这种检查。您可以像JB Nizet所说的那样使用接口,也可以在运行时抛出异常。您也可以编写注释处理器,但这比使用接口复杂得多。好的。这更像是一个创造性的。。。测验这也会使事情变得过于复杂。谢谢大家!接口是:@Limnic您还应该后退一步,并计算检查发生的时间点。处理编译时的注释很少;令人惊讶的是:这些需要在编译器中实现。其他任何事情都会在运行时发生。您希望您的IDE如何进行类似运行时的测试。。。如果没有任何东西在运行?