Una pregunta de diseño simple.¿Por qué toBinaryString no es un método de instancia en la clase Integer?
Código de ejemplo:
diseñoInteger int1 = new Integer(20);
System.out.println(Integer.toBinaryString(int1));
Por qué JDK no es algo como lo siguiente? entonces, la función toBinaryString devuelve el resultado deseado?
System.out.println(int1.toBinaryString());
Aparte de gran facilidad de uso de una función estática, ¿cuáles son las otras razones de este enfoque de diseño? ¿Están usando algún patrón de diseño particular? Si es entonces, ¿qué patrón?
Para evitar * explícitamente * crear objetos innecesariamente, ¿no? Autoboxing terminará creando códigos de bytes esencialmente idénticos en cualquier caso.(Ahora, Hotspot podría eludir por completo la creación del objeto, pero de nuevo se aplicaría a ambos casos por igual). ¿O me estoy perdiendo algo? –
@ jon-skeet digamos que el tipo 'int' no existe. Entonces, ¿cuál sería la razón detrás de este patrón de diseño? –
Andrzej: No, no habrá ningún autoboxing, porque el parámetro escribe 'int', no' Integer'. –