Solución:
En Java, cada variable tiene un tipo declarado en el código fuente. Hay dos tipos de tipos: tipos de referencia y tipos primitivos. Los tipos de referencia son referencias a objetos. Los tipos primitivos contienen valores directamente. Hay 8 tipos primitivos:
- byte
- pequeño
- En t
- largo
- carbonizarse
- flotador
- doble
- booleano
De la Especificación del lenguaje Java, Capítulo 4. Tipos, valores y variables:
El lenguaje de programación Java es un lenguaje de tipo estático, lo que significa que cada variable y cada expresión tiene un tipo que se conoce en el momento de la compilación.
El lenguaje de programación Java también es un lenguaje fuertemente tipado, porque los tipos limitan los valores que una variable […] puede contener o que una expresión puede producir, limitar las operaciones admitidas en esos valores y determinar el significado de las operaciones. La escritura estática fuerte ayuda a detectar errores en el momento de la compilación.
Los tipos del lenguaje de programación Java se dividen en dos categorías: tipos primitivos y tipos de referencia. Los tipos primitivos […] son el tipo booleano y los tipos numéricos. Los tipos numéricos son los tipos integrales byte, short, int, long y char, y los tipos de coma flotante float y double. Los tipos de referencia […] son tipos de clases, tipos de interfaces y tipos de matrices. También hay un tipo nulo especial. Un objeto […] es una instancia creada dinámicamente de un tipo de clase o una matriz creada dinámicamente. Los valores de un tipo de referencia son referencias a objetos. Todos los objetos, incluidas las matrices, admiten los métodos de la clase Object […].
¿Qué quiere decir la gente con “tipos”?
En el mundo real tienes diferentes tipos de vehículos, por ejemplo. Cada uno tiene un propósito distinto. Tiene autos deportivos para conducir rápido, utes para llevar herramientas, camiones para transportar muchas mercancías y limusinas para viajar con lujo. De la misma manera, en Java, puede tener diferentes tipos de datos que sirven para diferentes propósitos, por ejemplo, tiene números (que se usan para sumar / restar, etc.), puede tener “cadenas” que se usan para comunicar palabras y letras. No puede usar letras para sumar, eso simplemente no tiene sentido, ni podría usar números para escribir una oración. Debes usar el tipo de datos correcto para hacer lo que quieras.
Primitivos vs tipos de referencia: ¿qué significa? ¿Cual es la diferencia?
Ahora bien, hay algunos “tipos” de datos que son básicos. Estos ya fueron creados por los boffins de Redmond / Sun. Estos se denominan tipos de Java “primitivos” y almacenan los valores dentro de sí mismos. ¿Qué significa eso? Se explica mejor con un ejemplo:
Ejemplo de un tipo primitivo
Si le di un billete de $ 50, entonces el billete en sí mismo vale $ 50. El valor se almacena en la propia nota.
Primitivas yuxtapuestas con tipos de referencia
Ahora imagina que en lugar de darte $ 50 te doy una hoja de papel que tiene la dirección de una caja de seguridad en mi banco en Suiza. La hoja de papel que le di no vale $ 50 en sí misma, pero apunta a una dirección donde puede obtener sus $ 50. Esta hoja de papel es básicamente un tipo de “referencia”, porque no almacena ningún valor dentro y en sí mismo, simplemente apunta a ciertas direcciones. Pero puedo darte la dirección de cualquier cosa: aviones, castillos, bosques pluviales: ¡cualquier cosa!
Resumen
No puedes simplemente entregarle a alguien un avión o un tren Shinkansen de tu bolsillo trasero: simplemente le das una dirección. Pero si tiene $ 50, o cualquier tipo de moneda: la sustancia real está en su bolsillo trasero. No les vas a dar un mapa del tesoro a tu billete de $ 50.
Eso, en pocas palabras, es la diferencia entre los tipos primitivos y de referencia.
Espero que ayude.