Java — uma linguagem que perdoa muito. Mas não tudo
\n\nVocê abriu um livro, baixou o IntelliJ IDEA e escreveu seu primeiro Hello, World!. Parabéns! Agora você está entrando num mundo onde ponto e vírgula decidem o destino da compilação, e a palavra null pode estragar a noite. Java é uma linguagem poderosa, rigorosa e terrivelmente lógica. Mas é justamente essa lógica que frequentemente engana os iniciantes. Por quê? Porque o cérebro quer "como em Python" ou "como em JavaScript", e Java diz: "Não, amigo, primeiro declare o tipo".
Neste artigo, reuni os erros mais comuns ao estudar Java que os iniciantes cometem. Analisaremos cada um com exemplos reais e, o mais importante, mostrarei como corrigi-los. Se você está começando a estudar Java do zero — leia com atenção, isso economizará horas de depuração.
\n\nErro nº1: Ignorar os tipos de dados
\n\nJava é uma linguagem fortemente tipada. Isso significa que você não pode simplesmente pegar e atribuir uma string a um número. Mas os iniciantes frequentemente tentam fazer essas manobras:
\n\nint number = "42"; // Erro de compilação!\n\nOu ainda mais engraçado:
\n\nString text = 42; // Também é erro\n\nEm Python ou JavaScript isso funcionaria (bem, quase). Em Java — não. Cada variável deve ser declarada com um tipo específico, e não é possível alterá-lo em tempo de execução.
\n\nComo fazer corretamente?
\nUse a conversão explícita de tipos ou métodos de transformação:
\n\nint number = Integer.parseInt("42"); // Agora funciona\nString text = String.valueOf(42); // Isso também\n\nDica: Ao estudar Java Core, acostume-se imediatamente a pensar em termos de tipos. Pergunte a si mesmo: "Qual é o tipo desta variável?". Isso evitará 30% dos erros.
\n\nErro nº2: Esqueceu o main — e tudo desabou
\n\nClássico. O iniciante escreve uma classe, declara um método nela, executa — e vê o erro:
\n\nError: Main method not found in class\n\nPor quê? Porque a JVM procura uma assinatura estritamente definida:
\n\npublic static void main(String[] args)\n\nOs iniciantes frequentemente escrevem:
\n\npublic void main() // Incorreto!\nstatic void main() // Também não é\n\nGrave de uma vez por todas: public static void main(String[] args) — não é apenas uma linha, é o portal para o mundo da execução do programa.
\n\nExemplo de código funcional:
\npublic class HelloWorld {\n public static void main(String[] args) {\n System.out.println("Olá, Java!");\n }\n}\n\nSe você usa o IntelliJ IDEA, ele próprio destaca o erro e sugere criar o main correto. Aproveite isso.
Erro nº3: Confusão entre == e .equals()
\n\nEste é, provavelmente, o erro mais comum de iniciantes em Java. Eles comparam strings com == e se surpreendem por a condição não funcionar.
String a = new String("Java");\nString b = new String("Java");\n\nif (a == b) {\n System.out.println("Iguais"); // Não será exibido!\n}\n\nO problema é que == compara as referências dos objetos, não o seu conteúdo. a e b são dois objetos diferentes na memória.
Como corrigir?
\nif (a.equals(b)) {\n System.out.println("Iguais"); // Agora será exibido\n}\n\nLembre-se da regra: primitivos (int, double, boolean) comparamos com ==, objetos (String, Integer, suas próprias classes) — com .equals(). Isso é especialmente importante ao trabalhar com coleções e exceções em Java.
Erro nº4: Pânico ao ver NullPointerException
\n\nNullPointerException (NPE) é o monstro que assusta todos os iniciantes. Mas na verdade ele apenas diz: "Você está tentando chamar um método de um objeto que não existe".
Exemplo:
\n\nString name = null;\nint length = name.length