No contexto da programação OO, objetos só existem DENTRO de um computador ou máquina semelhante. No mesmo contexto as classes podem existir fora do cumputador.
Então os métodos para fazer esta conversão precisam levar em conta esta fundamental diferença.
Na minha opinião um bom método para converter uma classe Integer para uma classe String é usar o velho e bom backspace e digitar de novo. Outro bom método para quem usa paper prototyping é usar borracha e lápis.
Gente, é sério. Há um monte de bobagens nos testes de admissão em empresas de TI. Como o candidato deve responder uma coisa desta?
a) Perde a vaga e responde certo que não há meio de usar diretamente a linguagem Java para converter de uma classe para outra. Só objetos podem ser convertidos.
b) Pega a vaga e taca um toString ou um String.valueOf() na resposta.
Se correr o bicho pega, se ficar o bicho come…
Outras barbaridades comuns são perguntas sobre banco de dados que violam princípios teóricos básicos e eu já passei por uma destas. Preferi alertar sobre o erro na questão por medo que fosse uma pegadinha. Resultado, dancei. Não era pegadinha e sim ignorância de quem perguntou.