Java の単項プラス演算子は、C++ を介して C から来たようです。
int result = +1;
以下の効果があるようです。
- オペランドがラッパー オブジェクトの場合、ボックス化を解除します
- オペランドをにプロモートします (まだより広く
int
ない場合)int
- 多数の連続するプラス記号を含む邪悪な式の解析が少し複雑になります
これらすべてを行うためのより良い/より明確な方法があるように私には思えます。
このSO questionでは、C# の対応する演算子について、「必要に応じてオーバーロードするためにある」と誰かが言いました。
ただし、Java では、どの演算子もオーバーロードできません。では、この単項プラス演算子は、C++ に存在したという理由だけで Java に存在するのでしょうか?