Category Archives: Java7

Java 7: Enum Class

Java logo
java.com

Una de les coses més interessants que te Java son les classes Enum.

Les classes Enum son un tipus específic de classes que permeten acotar i definir els valors que pot tenir una variable.
La avantatge addicional que proporciona Java es que pots afegir  mètodes per a treballar amb elles, com per exemple:

Mètode
.values() Permet recorrer tota la llista de valors de la class Enum.
“…method that returns an array containing all of the values of the enum in the order they are declared…”

public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,THURSDAY, FRIDAY, SATURDAY
}


for (Day dia_setmana : Day.values()) {
System.out.printf("El teu dia es:",dia_setmana);
}
toString() Retorna el text de la ennumeració.
Creació amb valors Al crear un Enum, es pot assignar automàticament els valors.
En aquest cas cal afegir un constructor privat de la classe.

public enum Planet {
MERCURY (3.303e+23, 2.4397e6),
VENUS (4.869e+24, 6.0518e6),
EARTH (5.976e+24, 6.37814e6),
MARS (6.421e+23, 3.3972e6),
JUPITER (1.9e+27, 7.1492e7),
SATURN (5.688e+26, 6.0268e7),
URANUS (8.686e+25, 2.5559e7),
NEPTUNE (1.024e+26, 2.4746e7);
private final double mass; // in kilograms
private final double radius; // in meters

// CONSTRUCTOR ADDICIONAL
Planet(double mass, double radius) {
this.mass = mass;
this.radius = radius;
}

for (Planet p : Planet.values()) {
System.out.printf(“Your weight on %s is %f%n”,
p, p.surfaceWeight(mass));
}

Enllaços relacionats:

Java: Com declarar una instància de String[] args ?

Java logo
java.com

Típicament la principal funció d’una classe es la main i habitualment es declara com a: main(String[] args); però com es pot generar aquest paràmetre?

Si fem buna recerca per Internet a tot arreu trobarem replicat el manual de Java i fins i tot tinc una entrada aquí mateix trobarem una descripció de com funciona la creació de objectes.

Ara la pregunta es… com puc declarar-ho correctament si no em bé per la crida del la classe?

Doncs fent una cosa tan simple com:

String[] empty_strings = {};

amb això podràs declarar un paràmetre buit que et pot fer servir per a simular la crida al main sense cap mena de paràmetre especificat.

%d bloggers like this: