Diferença de getvalue().tostring e integer.tostring(getvalue)

Sou novo na programação java e estou com uma duvida.

Em um projeto eu utilizei o componente JSlider e queria que o mesmo setasse no label dessa forma:

lblInicio.setText(Integer.toString(sliInicio.getValue()));

Já em outro projeto eu utilizei o componente JSpinner e queria tambem que ele setasse no label dessa forma:

lblA.setText(txtA.getValue().toString());

AS duas deram certo, porem minha duvida é, porque no componente JSlider eu tive que usar integer.tostring(getvalue) e no componente JSpinner eu tive que usar getvalue().tostring ? Sendo que os dois componentes trabalham com valores!?

A diferença está no tipo de dado retornado por esses métodos (leia sempre a doc da classe que irá usar)…

Não é porque possuem o mesmo nome que devem retornar a mesma coisa…

No JSlider o método getValue retorna um int…

E no JSpinner o método getValue retorna um Object…

Quando se usa Integer.toString… você converte um int para String…

Quando se usa getValue.toString, você está representando o Object em String, pois todo objeto por ser filho de Object, possui um método toString em sua classe (se ainda não pegou a base de programação OOP sugiro ler essa apostila antes de avançar em desktop/swing)…

1 curtida

Muito obrigado pela resposta, e pela dica com a apostila.