vamos la, começando do começo…
existem os tipos primitivos de dados, e pra cada um deles existe uma classe Wrapper “equivalente”…por exemplo:
int - Integer
double - Double
float - Float
boolean - Boolean
eu evito o uso de tipos primitivos, por suas limitações…os Wrappers permitem a utilizações de métodos específicos que facilitam a vida, além de prover recursos da OOP…
normalmente os tipos primitivos são usados para cálucos matemáticos apenas…no caso de executarmos alguma conta, extraimos o valor do Wrapper com o tipo primitivo para efetuar um calculo, por exemplo:
Integer a = new Integer(10);
Integer b = new Integer(20);
Integer c = new Integer(a.intValue() + b.intValue());
mas ate isso ja estou deixando de lado, e estou utilizando os métodos da classe BigDecimal(add(), multiply(), etc…), q oferece precisão, ao contrario dos tipos Double e Float…
bom, espero ter ajudado…
flw