Códigos ruins:

"" + set.size()

new Integer(set.size()).toString()

O tipo do retorno de Set.size() é int. O que se quer é uma conversão para String. Estes dois exemplos de fato fazem a conversão. Mas o primeiro é penalizado pela a operação de concatenação (traduzida para (new StringBuilder()).append(i).toString())). E o segundo cria um objeto Integer intermediário. A maneira correta de fazer a conversão está abaixo.

Código correto:

Integer.toString(set.size())