我有一个梦想....
在这个梦想中,我可以替换以下结构:
if(aLongVariableName.equals(classInstance.aPropertyOfThatInstance) ||
aLongVariableName.equals(classInstance.aDifferentProperty)){
...
}
和
if(aLongVariableName.equals(classInstance.aDifferentProperty || aPropertyOfThatInstance)){
...
}
我认为后者更简洁,更易于阅读。我确信有些事情应该是可能的,因为可以使用这种带有逗号分隔变量的签名声明方法public void readUnlimitedVariables(Variable ... vars)
(而不是||
or &&
)。
这可以对任何返回布尔值的东西开放,例如:
if(myLovelyInstance instanceof AwesomeClass && EpicClass){
...
}
在哪里myLovelyInstance
实现AwesomeClass && EpicClass
这在Java中可能吗?到目前为止,通过谷歌搜索或 SO,我还没有找到任何关于此的内容。如果它不在 vanilla Java 中,是否有任何第三方软件包(如 Lombok 或 lambdaJ)允许这样做?如果不是这样,如果这是任何语言的特征?这对我来说似乎很直观,但我在任何地方都没有看到它。