¿Existe algún #IF y #CONST equivalente .NET en Java / Android?

Tengo un proyecto en el que hay muchos códigos disponibles sólo en determinada versión, y cuando corrijo un error tengo que arreglarlos en todas las copias. Es muy incómodo.

¿Hay #IF y #CONST en Java, que si la cláusula #IF es falsa, el código no se compilará?

No hay preprocesador "oficial" para Java, y no hay un tercero que sea ampliamente utilizado.

Pero nada te impide usar cualquier preprocesador que quieras en tu código, si estás dispuesto a vivir con la desventaja que los IDE y muchas otras herramientas no manejarán correctamente.

Dicho esto, normalmente no lo necesita en Java. Prefiere proporcionar implementaciones múltiples de una interfaz común (o clases que extiendan una clase base común) y elegir entre ellas en tiempo de ejecución.

Hay, sin embargo, una forma limitada de compilación condicional mediante el uso de constantes de tiempo de compilación de banderas booleanas:

  static final DEBUG = false; public void frobnicate() { if (DEBUG) { doExpensiveFrobnicationDebugOperation(); } doActualFrobnication(); } 

Este código resultará en que la costosa llamada al método no se compile en el bytecode del archivo .class resultante.

No hay tal cosa como un preprocesador para Java, por lo que desafortunadamente no se puede hacer la compilación condicional.

  • Las clases siguientes no pudieron ser instanciadas: - android.support.v7.widget.Toolbar
  • Implementación de Algoritmos de Cifrado Bouncy Castle con Android
  • Ejecución de scripts de Groovy incrustados en Java en tiempo de ejecución para Android
  • ¿Se recomienda comprobar la vista de null con cada llamada findViewById?
  • Android: ¿Cómo hacer que mi idioma de soporte de webview mientras carga una url?
  • ¿Cómo obtener detalles de la aplicación de terceros en android?
  • Android cómo hacer la diapositiva de pantalla de imagen?
  • Cómo agregar CardView dentro de Gridview
  • Opacidad incremental, que desea una opacidad constante Vista de imagen con Drawable
  • Error de símbolo no resuelto en el archivo de actividad
  • MainActivity.this no es una clase inclusiva AsyncTask
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.