Foro sobre Java SE > Crear una variable que se autoincremente y se renueve por año.
public class NewMain {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
NewClass newClass = new NewClass();
}
System.out.println("contador= " + NewClass.getContador());
}
}
public class NewClass {
private static int contador;
/**
* @return the contador
*/
public static int getContador() {
return contador;
}
public NewClass() {
contador++;
}
}
Para determinar la fecha, usa la clase Calendar
http://docs.oracle.com/javase/7/docs/api/java/util/GregorianCalendar.html
Buenas
Dado que se trata de una aplicacion web en la que existen multiples classloaders (y teniendo en cuenta que el valor se resetea cada vez que reiniciamos) yo no me fiaria de una variable static.
http://yiyujia.blogspot.fr/2011/10/java-class-loader-and-static-variable.html
Yo creo que lo mas sencillo y seguro seria configurar dicha entidad a nivel de la base de datos en la que se va a persistir. Casi todos los productos de bases de datos admiten campos "auto_increment". Para resetear cada anio, bastaria con un simple trigger.
Un saludo
Yo nunca uso contadores con variables estáticas, y que se autoincrementan con cada creación de una instancia de clase. Me parece un diseño más que dudoso, por no decir sencillamente erróneo; pero es lo que ha preguntado, y como una cuestión de JavaSE.
Muchas gracias por la ayuda, cuando lo termine de implementar lo subo.
Hola, necesito ayuda en un proyecto web.
Tengo una clase Nota y Memo con las siguientes variables entre otras:
Nota
---------------------
- int nroDeNotas;
- String descripcion;
Memo
---------------------
- int nroDeMemo;
- String sector;
Nota y Memo heredan de Documento, que tiene las siguientes variables:
Documento
---------------
- int id;
- Date date;
Lo que necesito hacer es que nroDeNota y NroDeMemo se incrementen automáticamente cada vez que creo uno, ambos son independiente del id de Documento. Ademas, nroDeNota y nroDeMemo deben reiniciarse en cero cuando comienza un nuevo año.
Me podrían dar unas ideas por favor.
--------------------------------------------------------------------------------------------------
Utilizando Framework Apache isis https://isis.apache.org/documentation.html