Olá, pessoal!
Hoje vamos falar sobre Assertivas, ou Assert, no Java↳Java42 conteúdosNovidades do Java 26 (para desenvolvedores)Dev (Back & Front) · mar 2026Visual Studio Code para Java: o guia completo (dicas, configuração e extensões)Dev (Back & Front) · out 2025Quarkus: Modernizando a linguagem Java para a era da nuvemDev (Back & Front) · nov 2020Ver tudo em Dev (Back & Front) →. É um assunto que está na SCJP 5 (ou superior) e que veio fazer diferença na vida do programador Java a partir da versão 1.4. Veremos o porquê.
A partir da versão 1.4, o recurso de Assertivas (Assert) permitirá que você teste suposições
durante o desenvolvimento sem o desgaste de escrever manipuladores para
exceções que se supõem que nunca ocorrerão, depois que o programa tiver saído da
fase de desenvolvimento e for totalmente distribuído.
Se você não quer perder tempo ou trazer impacto ao desempenho do
programa escrevendo um código de manipulação de exceções ou não deseja testes com IF/else, já que se chegar à condição else significa que a lógica anterior falhou,
então as Assertivas permitem que você
teste suas suposições durante a fase de desenvolvimento.
Assertivas funcionam de maneira bem simples sempre que você quer ter certeza de que o valor testado jamais vai ser falso,
caso contrário, um error AssertionError (que não é possível manipular) é
lançado.
assert (boolean) : string;Entre ( ) sempre terá que haver um valor booleano e true,
caso contrário, uma exceção é lançada (AssertionError).
Por padrão, Assert vem desabilitado. Para desfrutar do recurso, é necessário ativá-lo.
01. Compilando
javac -source 1.5 classe.java02. Habilita
java ea classeou
java enableassertions minhaclasse03. Desabilita
java da classeou
java disableassertions classeRegras de uso Assert
- Assertion não
pode ser usado no lugar do IF; - Assertion não
pode testar métodos públicos ou argumento digitado pelo usuário; - Não pode apresentar efeitos colaterais* no programa. Ou
seja, o seu programa deve rodar tanto com ele habilitado ou não.
Usar Assertivas capazes de causar efeitos colaterais pode levar a alguns dos bugs mais enlouquecedores e difíceis de encontrar (Kathy Sierra, 2006)
Não é objetivo de Assertivas substituir o uso IF/ELSE, tratamentos de exceções. O uso de Assertivas é no
ambiente de desenvolvimento (debug) e não de distribuição.
Na prática:
class Asert{<br /> private static void setD(int z){<br /> boolean b=true;<br /> assert(z>0):" alguém alterou o valor da linha 3 ";<br /> assert(b=false);<br /> System.out.println(z); }<br /> public static void main(String args[]){<br /> setD(1);<br /> }}Outro exemplo:
class Assert{<br /> //usando assertivas <br /> public static void main(String args[]){ <br /> int taxajuros=4;<br /> assert(taxajuros==2):"algum programador mudou o valor da int taxajuros na linha 6";<br /> System.out.println(true);<br /> }}Agora basta compilar com Assert, ativar em tempo de
execução e verificar a essência desse recurso. Espero que tenham gostado e
até a próxima!!






