Operandos de tipo ñ primitivo [resolvido]

4 respostas
G

Olá,

Gostaria de saber como criar uma classe q pudesse participar de operações aritméticas, como as classes wrapper (pode-se somar um Integer a outro, sem chamar métodos intValue()).

Valeu!!!

4 Respostas

cv1

Java nao tem sobrecarga de operadores. Sorry :slight_smile:

Mauricio_Linhares

Mas no Java 5 ele não deveria fazer o boxing/unboxing nesse caso não CV?

T

No Java 5 tem autoboxing (conversão automática do objeto para o valor e vice-versa), mas apenas para aquelas classes “wrapper” que são amiguinhas do James Gosling: java.lang.Double, java.lang.Integer, java.lang.Boolean, java.lang.Long, java.lang.Character, java.lang.Short. Quipena… Como você não é amiguinho (ou amiguinha) do James Gosling você não pode fazer isso. Tem de definir métodos (add, subtract, multiply, divide ou seja lá que nomes você quer dar); não dá para reaproveitar os operadores +, -, *, / como você queria.

EDIT - mesmo que você fosse amigo(a) de longa data do Gosling, ele ia brigar com você para não ter mais sobrecarga de operadores que as já definidas. É questão de honra para ele, já que ele já viu que estrago isso fez no C++.

G

Caras, VALEU pelas respostas. É minha primeira pergunta ao forum, e num imaginei q fosse tão rápido!!!

BRIGADÃO!!

Criado 22 de junho de 2005
Ultima resposta 22 de jun. de 2005
Respostas 4
Participantes 4