Para o código
public class Identifier{
public static void main(String args[]){
boolean assert = false; // a palavra assert como identifier
}
}
Ao rodar o comando de compilação:
C:\Documents and Settings\Pedro\Desktop\assertion>javac -source 1.3 Identifier.java
Identifier.java:3: warning: as of release 1.4, ‘assert’ is a keyword, and may not be used as an iden
tifier
boolean assert = false;
^
(use -source 1.4 or higher to use ‘assert’ as a keyword)
1 warning
(sucesso!!!)
Ao rodar o comando de compilação:
C:\Documents and Settings\Pedro\Desktop\assertion>javac Identifier.java
Identifier.java:3: as of release 1.4, ‘assert’ is a keyword, and may not be used as an identifier
boolean assert = false;
^
(use -source 1.3 or lower to use ‘assert’ as an identifier)
1 error
Ao possuir a classe compilada (*.class) e rodar o comando execução:
C:\Documents and Settings\Pedro\Desktop\assertion>java -ea Identifier
(sucesso!!!)
Para o código:
public class Keyword{
public static void main(String args[]){
assert(false): “falso”; // a palavra assert como keyword
}
}
Ao rodar o comando de compilação:
C:\Documents and Settings\Pedro\Desktop\assertion>javac -source 1.3 Keyword.java
Keyword.java:3: warning: as of release 1.4, ‘assert’ is a keyword, and may not be used as an identifier
assert(false): “falso”;
^
(use -source 1.4 or higher to use ‘assert’ as a keyword)
Keyword.java:3: ‘;’ expected
assert(false): “falso”;
^
1 error
1 warning
Ao rodar o comando de compilação:
C:\Documents and Settings\Pedro\Desktop\assertion>javac Keyword.java
(sucesso!!!)
Ao possuir a classe compilada (*.class) e rodar o comando execução:
C:\Documents and Settings\Pedro\Desktop\assertion>java -ea Keyword
Exception in thread “main” java.lang.AssertionError: falso
at Keyword.main(Keyword.java:3)
Conforme demonstrado acima, a ocorrencia de uma exception (erro) se da pelo fato da instrução de assert:
- ser usada como keyword,
- habilitada (através da instrução -ea)
-
e setada como false (veja o código)