Dúvida em relação à criar macros em Java

Olá, alguém sabe se existe algo parecido com o “#define” da linguagem C ? Por exemplo:

[code]#include <stdio.h>
#define MAX 12

int main()
{
char buff[MAX];
…[/code]

Alguém sabe se há algo parecido em Java ?

Obrigado.

Olha, eu sei a palavra reservada final, que diz que aquela variável não pode ser mais modificada, isto é, só recebe valor uma vez, e com ele fica.

O que é diferente da constante, pois seu valor não precisa ser conhecido na compilação.

Graças à Deus, não existe. Como o colega disse, você pode declarar constantes (mais ou menos equivalente ao const do C++), mas não criar macros. Você também não pode criar apelidos para tipos (typedefs).

Macros são um dos motivos pelo qual as IDEs de C e C++ não são nem de perto tão poderosas quanto as IDEs do Java.

Entendi! :smiley:

Obrigado a todos.

Vale lembrar que desde o C99, as macros também não são recomendadas.

Prefere-se usar const e funções inline no lugar. Até para evitar macros mal-comportadas como essa aqui:

#define MAX((A),(B)) (A) > (B) ? (A) : (B);

Teste o resultado dessa macro e os valores finais de a e b para expressão:

int a = 10; int b = 20; int x = MAX(A++,B++);

Mais uma vez, valeu, ViniGodoy :wink:

eu não sabia dessa.

Obrigado!