Archive | Java SE RSS feed for this section

javastreamforeachoverload

Java Stream forEach y colecciones

El uso de Java Stream forEach poco a poco se va haciendo hueco entre los desarrolladores que utilizan programación funcional. El problema fundamentalmente que existe con el método forEach es que estamos muy acostumbrados a usar un bucle clásico forEach y nos funciona bastante bien .Así que da un poco de pereza cambiarlo . ¿ […]

javacommandPatternTareasvarias

Command Pattern en Java y la gestion de tareas

El concepto de Command Pattern o patron comando es uno de los más conocidos en el mundo de la programación. ¿Para qué sirve el patrón comando y que situaciones resuelve?. En programación nos podemos encontrar en muchas situaciones en las que tenemos que gestionar tareas que reciben algún tipo de objeto como parámetro. Una vez recibido […]

JavaMultipleInheritanceDefault

Java Multiple Inheritance con default methods

El soporte de Java Multiple Inheritance ha sido siempre una de las características que mas se echaban en falta en Java. La razón que siempre se ha esgrimido es que la herencia múltiple es algo que complica el código y la vida al desarrollador. Sin embargo hay que reconocer que en más de una ocasión […]

EclipsePullup

Eclipse Pull up , Pull down y refactorings

Eclipse pull up es uno de los refactorings más habituales de Eclipse cuando estamos trabajando con jerarquías de clases. ¿Para qué sirve este refactoring y su complementario pull down? . Sirven para  mover métodos entre diferentes niveles de una  jerarquía de clases . Supongamos que disponemos de tres clases (Persona , Empleado y Deportista) y […]

javalambdainferredtypes

Lambda inferred type y sus ventajas

El uso de Java lambda inferred type es muy común cuando trabajamos con expresiones lambda pero a veces es difícil entender como funcionan. Vamos a construir unos ejemplos que nos ayuden a clarificar el concepto. Para ello vamos a partir de un interface Calculadora que define el concepto de operación para luego apoyarnos en expresiones […]

java8interfacestaticmethods

Java 8 interface static methods y reutilizacion

El uso de Java 8 interface static methods genera muchas dudas entre los desarrolladores. ¿Para qué podemos necesitar usar métodos estáticos a nivel de interfaces?. La respuesta tiene que ver con el concepto de reutilización de código y agrupamiento de responsabilidades . Vamos a construir como siempre un ejemplo que nos ayude a clarificar las […]

javavaluevsreferenceasignacion

Java value vs reference y sus curiosidades

Java value vs reference es una de las cuestiones más habituales cuando comenzamos a programar en Java . ¿Como se pasan los valores en Java por valor o por referencia?.  Es un tema  interesante y vamos a ver un par de bloques de código que nos ayuden a clarificar. Hemos declarado una variable de un tipo […]

JavaBoxingInBoxing

Java Boxing y sus curiosidades

Java Boxing es uno de los conceptos básicos de Java que mas dudas genera a los programadores cuando empiezan a trabajar con el lenguaje. Vamos a explicarlo a detalle. ¿Qué es exactamente el concepto de Java Boxing?. En Java existen dos tipos de estructuras fundamentales , los tipos básicos y los objetos. Los tipos básicos […]

JavaReflectionMetodo

El concepto Java Reflection y como utilizarlo

Java Reflection es quizás el API que más versatilidad aporta al lenguaje Java ya que nos permite resolver muchos problemas de una forma totalmente diferente a la habitual. El API de Java reflection nos permite leer los metadatos de nuestras clases y trabajar con ellos. En un principio no es nada sencillo de entender .Vamos […]

IntStreamDiagram

Trabajando con Java 8 IntStream y sus métodos

El concepto de Java 8 IntStream hace referencia a Streams compuestos por números enteros. Es algo que en muchas ocasiones puede sernos util a la hora de trabajar ya que aporta algunos métodos interesantes, vamos a verlos: Nuestro primer ejemplo crea un Stream de seis números y lo imprime por pantalla. Podemos hacer lo mismo […]