Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用-Xlint重新编译:详细信息不推荐_Java - Fatal编程技术网

Java 使用-Xlint重新编译:详细信息不推荐

Java 使用-Xlint重新编译:详细信息不推荐,java,Java,我需要知道如何修复这些错误注释: Note: Summer.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details. 这是我的密码: import java.util.Calendar; import java.util.*; class Summer { public static void main(String[] args) {

我需要知道如何修复这些错误注释:

Note: Summer.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
这是我的密码:

import java.util.Calendar;
import java.util.*;

class Summer
{
    public static void main(String[] args)
    {
        Date d1 = new Date();
        Date j21 = new Date(d1.getYear(), 6, 21);
        if(d1.before(j21)) {
            long diff = j21.getTime() - d1.getTime();
            diff = diff / (1000 * 60 * 60 * 24);
            System.out.println("There are " + diff + " days until June 21st" );
        }
        else {
            long diff = d1.getTime() - j21.getTime();
            diff = diff / (1000 * 60 * 60 * 24);
            diff = 365 - diff;
            System.out.println("There are " + diff + " days until June 21st" );
        }
    }
}

如消息所述,您需要使用
-Xlint
命令行开关将其编译为
javac
命令,如下所示:

C:\Temp>javac -Xlint Summer.java
Summer.java:22: warning: [deprecation] getYear() in java.util.Date has been deprecated
        Date j21 = new Date(d1.getYear(), 6, 21);
                          ^
Summer.java:22: warning: [deprecation] Date(int,int,int) in java.util.Date has been deprecated
        Date j21 = new Date(d1.getYear(), 6, 21);
               ^
2 warnings

这是一个警告。您正在使用不推荐使用的函数调用或对象。您可以像这样重新编译,以找出它发生的位置:

javac -Xlint:deprecation Summer.java

通常,使用不推荐使用的库是个坏主意。它们可能会在下一版本中消失。

这些不是错误。只是警告。这些不会影响你的计划。但当您将来使用不推荐的util类Date时,它可能会影响您的程序


最好使用
java.util.Calendar
而不是
java.util.Date
这提供了与Date相同的功能,还提供了一些额外的功能

这不是错误;这是一条警告信息

您的程序将在编写时运行

编译器发出此警告的原因是您使用了不推荐使用的函数调用

通过“使用-Xlint重新编译”,编译器的意思是通知您需要如下方式重新编译程序:

javac -Xlint abc.java 
如果您这样做,编译器将告诉您哪些方法不推荐使用,以便您可以删除对它们的调用。(如果某个方法不推荐使用,通常意味着有更好的实现可用,您应该使用该实现,而不是不推荐使用的方法。)

对于此错误。但是它实际上是一个关于缺少try{}catch(){}块的警告 通过编写以下语句,您可以使用查看受影响的代码

javac -Xlint:unchecked filename.java
它将显示必须通过用户定义或系统定义异常代码捕获的未选中的所有异常


您是如何从命令行或jGrasp开发环境编译代码的?我在jGrasp中打开了一个新的java,并开始在其中使用我的代码。然后我点击编译文件按钮检查错误。不确定如何在jGrasp中启用
deprecation
警告。为此,您可能需要查阅jGrasp手册。如果是eclipse,你可以转到Windows->Preferences->Java->Compiler->Errors/Warnings->Disprecated and restricted API并将严重性级别设置为warning/error。好的,该程序目前运行正常,只是它告诉我,到6月21日还有301天没有,你知道我哪里出错了吗?给出了一些警告信息,但程序运行正确。非常感谢。
javac -Xlint:unchecked filename.java