..es que mi amigo tenes problemas en los conceptos de los tipos de datos...te explico muy resumidamente
...Java es un lenguaje "fuertemente tipado", esto significa que al momento de definir un dato, se le debe asignar un "tipo de dato", un String, un int, un char, un boolean, u otro Objeto...y este dato una vez definido no puede ser usado como si fuera otro tipo de dato, al menos que sea convertido...esto significa que si defines un tipo de datos como int por ejemplo...
...luego no puedes inicializarlo con un String, u otro dato que no sea int...ni tampoco puedes modificarlo...si yo inicializo esta variable con un String me dará un error
Código java:
Ver originala = "Nicolas" // ERROR!!! la variable a es un int, no un String
...a diferencia de otros lenguajes de programación como Javascript o PHP, estos "no son fuertemente tipado", es decir, no hay que determinar explicitamente el tipo de dato de una variable. Cada una de ellas puede almacenar un String, un int, un boolean, y pueden ser modificadas por cualquier otro tipo de dato en cualquier momento...
...en lenguajes como Java, para comparar valores, siempre deben ser del mismo tipo de dato, perooooooo, en caso que no lo sean podes convertirlos...ahora, al momento de convertir un tipo de dato en otro, tenes que tener en cuenta que dato vas a modificar, por que cada tipo de dato ocupa una x cantidad de bytes, y tenes que tener en cuenta eso para no perder datos durante la conversión o para que durante la ejecución no se arrogue algún valor inesperado o erróneo. ..
long 64 bits
double 64 bits
int 32 bits
float 32 bits
short 16 bits
char 16 bits
byte 8 bits
boolean 8 bits
....luego para convertir valores tenes varias formas, te pongo algunas fáciles como para que veas...