。?运算符在java中理论上可行吗?

时间:2012-10-08 22:46:17

标签: java operators isnull

我知道Java不支持运算符重载,但似乎有一些其他语言的运算符可能会使Java受益。

可能我最喜欢的例子是.?运算符。如果对象为非null,则仅使用.?访问对象的成员:

public void example(String arg)
{
    if(arg != null && arg.equals("quit"))
        ...
}

可以缩短为

public void example(String arg)
{
    if(arg.?equals("quit"))
        ...
}

.?运算符(至少是imho)易于阅读,并且消除了一些有时会对代码可读性造成损害的额外代码。在某些代码中,可能会对对象或参数的空状态进行多次检查,并可能导致整个代码块出现不必要的过度缩进。

显然,这不会发生革命性的变化,但就我所见,.?可以普遍适用于Object的所有子类。我错了吗?如果现在采用Java,这是否会违背用于确定Java不支持运算符重载的逻辑?

0 个答案:

没有答案