我本人就此提出针对此问题的解决方法:
好吧,我想要实现的是这样的:
@Contract({ @ExclusiveOr({ @IsType(IAtomicType.class), @Or({ @IsType(IListType.class), @IsType(ISetType.class) }) })})
拟议的解决方法:
用以下方法定义一个无参数构造函数的类(稍后将由您自己的注释处理器调用):
final class MyContract extends Contract{ // parameter-less ctor will be handeled by annotation processor public MyContract(){ super( new ExclusiveOr( new IsType(IAtomicType.class), new Or( new IsType(IListType.class), new IsType(ISetType.class) ) ) ); }}
用法:
@Contract(MyContract.class)class MyClass{ // ...}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)