Oi,
Bem, todos sabem que podemos criar um Integer, por exemplo, de algumas formas:
1) Passando o valor pelo construtor, recebendo ou não parâmetros:
Integer x = new Integer();
Integer y = new Integer(200);
2) Recebendo valor de tipos primitivos:
int x = 10;
Integer a = x;
3) Recebendo diretamente, como se fosse a inicialização em um tipo primitivo:
Integer a = 10;
Esse 3º tipo de inicialização é meio confuso para mim... Alguém pode exemplificar e explicar como isso é "feito por trás dos panos"?
E como eu posso aplicar essa "forma de inicialização" as minhas classes, caso eu encontre algo semelhante onde eu possa adicionar isso?
Uma boa observação é ver que a classe String também tem essa "propriedade":
String a = "Example";