Java Show Strike Line on Methods

时间:2015-07-04 10:03:06

标签: java date deprecated

为什么它会在getDate()getMonth()getYear()上显示警示线。这些方法用于获取当前日期,月份和年份,但我不知道为什么它会显示这些方法的攻击。<​​/ p>

代码:

public class hello {

    public static void main(String[] args) {
        int days;
        int month;
        int year;

        days = 24;
        month = 10;
        year = 1994;

        System.out.println("Date of Birth: " + days + "/" + month + "/" + year);

        Date d = new Date();

        int t = d.getDate();
        int x = d.getMonth() + 1;
        int f = d.getYear() + 1900;

        System.out.println("Current Date: " + t + "/" + x + "/" + f);
    }
}

3 个答案:

答案 0 :(得分:4)

像Eclipse这样的IDE如果被弃用就会对这些方法进行攻击,这意味着不建议使用这些方法,因为有更好的选择。请参阅Javadocs of getDate()

  

已过时。从JDK 1.1版开始,由Calendar.get(Calendar.DAY_OF_MONTH)替换。

使用Calendar方法:

Calendar calendar = Calendar.getInstance();
int day = calendar.get(Calendar.DAY_OF_MONTH);
int month = calendar.get(Calendar.MONTH) + 1;
int year = calendar.get(Calendar.YEAR);

答案 1 :(得分:2)

这是因为他们被弃用了。如果在函数上方的信息中设置@deprecated,它将在大多数IDE中触发方法。

不推荐使用这些特定功能,因为较新的Calendar是更好的选择。

答案 2 :(得分:0)

试试这个。

        int days;
    int month;
    int year;

      days=24;
      month=10;         
      year=1994;

        System.out.println("Date of Birth: "+days+ "/" +month+ "/" +year);

        LocalDate dd = LocalDate.of(year, month, days);

    System.out.println("Current Date: " + dd);
    System.out.println("Month: " + dd.getMonth());
    System.out.println("Day: " + dd.getDayOfMonth());
    System.out.println("Year: " + dd.getYear());

    //If you would add year
    LocalDate newYear = dd.plusYears(10);
    System.out.println("New Date: " + newYear);

这是输出:

  

出生日期:24/10/1994

     

当前日期:1994-10-24

     

月:10月

     

日:24

     

年份:1994年

     

新日期:2004-10-24