Compilação Java

Estou iniciando em Java. Até o momento, todos os programinhas que venho fazendo tem compilado sem problemas. Porém o último me mostrou a seguinte mensagem:



Note: Exemplo0206.java uses or overrides a deprecated API.

Note: Recompile with _deprecation for detaisl.



Alguém pode me ajudar a entender e resolver este problema ?



Agradeço desde já.



Carlos Alberto

ca.jcm@pop.com.br

Carlos Alberto,



Você utilizou alguma classe ou método que, apesar de funcionar, é considerado "deprecated", ou seja, na versão no Java de seu compilador, já foi inventado alguma classe ou método que realiza a mesma função de uma forma melhor.

Utilizando a opção "-deprecation" do javac, ele vai dizer exatamente quais as linhas que estão utilizando métodos deprecated, aí você pode abrir a documentação das APIs (http://java.sun.com/j2se/1.4.1/docs/api/) e ver o que é recomendado fazer em cada caso, pois nela está indicado qual método está substituindo o deprecated.

Entretando, isso não é 100% necessário. É perfeitamente possível utilizar coisas deprecated, apesar de que isto indica que algum dia talvez o Java pare de suportar este método.

Agradeço as explicações recebidas. Na verdade, usei o pacote java.io e a classe DataInputStream. Seriam esses os motivos da mensagem ?

Mais uma vez, obrigado pelas explicações.

Saudações.



Carlos Alberto

ca.jcm@pop.com.br

O interessante é que esta classe não está deprecated, e sim apenas o method readLine().

Quote:




readLine()

Deprecated. This method does not properly convert bytes to characters. As of JDK 1.1, the preferred way to read lines of text is via the BufferedReader.readLine() method. Programs that use the DataInputStream class to read lines can be converted to use the BufferedReader class by replacing code of the form:

DataInputStream d = new DataInputStream(in);

with:

BufferedReader d

= new BufferedReader(new InputStreamReader(in));






A melhor maneira de você saber é realmente executar o javac -deprecation arquivo.java

Pode ser apenas o readLine, ou pode ter mais um monte de coisa.