Amigo, todas as suas dúvidas se resolvem olhando (no seu caso você tem mais é de DECORAR) o Javadoc, e vendo as coisas com calma, papel e lápis. Não coce demais a cabeça que você vai ficar careca
valueOf retorna um java.lang.Long:
javadoc wrote:
static Long valueOf(String s)
Returns a Long object holding the value of the specified String.
Portanto o autoboxing será usado aqui (conversão de java.lang.Long para long).
longValue retorna um long:
javadoc wrote:
long longValue()
Returns the value of this Long as a long value.
Portanto o autoboxing será usado aqui (conversão do valor 433L, retornado por xL.longValue(), para o java.lang.Long que é necessário para atribuir a x4.)
parseLong retorna um long:
javadoc wrote:
static long parseLong(String s)
Parses the string argument as a signed decimal long.
Portanto nenhum autoboxing será efetuado aqui, já que x6 quer um long, e parseLong já retorna um long.