3

Java が演算子のオーバーロードをサポートしていないことは知っていますが、他の言語には Java に役立つ可能性のある演算子がいくつかあるようです。

おそらく私のお気に入りの例は.?演算子です。.?オブジェクトのメンバーは、オブジェクトがnull でない場合にのみアクセスされます。

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

に短縮できます

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

.?オペレーターは(少なくとも私見では)読みやすく、コードの可読性を損なう可能性のある余分なコードを排除します。一部のコードでは、オブジェクトまたはパラメーターの null 状態に対して複数のチェックが行われる場合があり、コードのブロック全体で不要で過剰なインデントが発生する可能性があります。

明らかに、これは革命的な変更ではありませんが、私が見る限り、.?すべてのサブクラスに普遍的に適用できます. Object私が間違っている?また、これは、Java が演算子のオーバーロードを現在採用する場合、サポートしないという決定に使用されたロジックに反するのでしょうか?

4

0 に答える 0