PRE-PROPOSAL: Simple operator overloading.

Daniel Cheng j16sdiz at
Wed Mar 25 18:08:11 PDT 2009

On Wed, Mar 25, 2009 at 8:03 PM, Vilya Harvey <vilya.harvey at> wrote:
> I would love to see this, but I'd prefer it to be based on special
> interfaces rather than annotations. This would adhere to the
> principle, mentioned on this list a few times, that annotations
> shouldn't modify the results of the compiler.
> For example, if you implement the Addable (say) interface then your
> class can be used the '+' operator; or the Subtractable interface for

We can't specify the return type if we use an interface.

We may want to do something like this:

        BigInteger + BigInteger     = BigInteger
        BigInteger + BigDecimal   = BigDecimal
        BigDecimal + BigInteger   = BigDecimal
        BigDecimal + BigDecimal = BigDecimal

There is no way to implement this using interface.

> the '-' operator. I'd imagine you would also want some grouping
> interfaces, to reduce the number of interface declarations required
> when overloading multiple operators (e.g. interface Artihmetic extends
> Addable, Subtractable etc.).
> Whatever form it takes though, it would be great to have this
> capability in Java!
> Vil.
> 2009/3/25  <rssh at>:
>> Permanent URL:
>> Probably too big, but anyway.
>> As I remember, alternative proposal (made [] and []= syntax sugar on
>> well-known interfaces, as with for-each loop) still not submitted. If
>> anybody want submit such proposal, then it is possible to reuse
>> JLS-changed for 15.26.1 from there.

More information about the coin-dev mailing list