Dúvida sobre assertion

2 respostas
deyvid
public class Teste {
	public static void main(String args[]) {
		boolean assert = true;
		
		if(assert) {
			System.out.println("assert is true");
		}
	}
}

Quando escrevo javac -source 1.3 Teste.java aparece 2 warning, mas quando faço javac -source 1.4 Teste.java dá dois erros. Não deveria da 2 warning visto que assert pode ser usado como keyword OU indentificador na versão 1.4?

Desde já agradeço

2 Respostas

yastorm

No Java 1.4 e na versões mais recentes, o Assert deve ser interpretado da seguinte forma:

The assertion statement has two forms. The first, simpler form is:

assert Expression1 ;

where Expression1 is a boolean expression. When the system runs the assertion, it evaluates Expression1 and if it is false throws an AssertionError with no detail message.

The second form of the assertion statement is:

assert Expression1 : Expression2 ;

where:

* Expression1 is a boolean expression.
* Expression2 is an expression that has a value. (It cannot be an invocation of a method that is declared void.) </blockquote>

Você não pode utilizá-lo como identificador.

deyvid

É isso mesmo. Passeir por cima da palavra Prior 1.4

Valeu um abração

Criado 29 de agosto de 2010
Ultima resposta 29 de ago. de 2010
Respostas 2
Participantes 2