java 建议使用_不建议使用构造函数Date(...)。 这是什么意思? (Java)

不建议使用构造函数Date(...)。 这是什么意思? (Java)

我试图创建一个Date(int, int, int, int, int)像这样:

date = new Date(year-1900, mon-1, day, hrs, min, sec);

Eclipse发出警告:“不赞成使用构造函数Date(int, int, int, int, int)”。

不赞成使用构造函数是什么意思,我该怎么办?

9个解决方案

43 votes

从字面上弃用意味着被拒绝,但更准确的翻译将被淘汰。 不推荐使用意味着此方法仍然可用,但您不应使用它。 它将逐步淘汰。 有一种新方法可以执行相同的操作。 不推荐使用的方法带有特殊的Javadoc注释:

/**

*@deprecated Please now use newMethod()

*@see newMethod()

*/

用:

GregorianCalendar(year + 1900, month, date, hrs, min)

要么

GregorianCalendar(year + 1900, month, date, hrs, min).

如API文档所建议。

JuanZe answered 2020-07-25T15:13:59Z

17 votes

这意味着您不应该在新代码中使用它。 如果现在有了更好的方法来实现某些目标,通常会出现这种情况,但是为了保持向后兼容性,保留了旧方法。

相反,您可以使用Calendar API,如完整消息所希望的那样-或(更好的是IMO)您可以使用Java 8中的Joda Time或Calendar.set(...)软件包(请参见教程)。 这两个都是优越的日期/时间API。 到

对于不推荐使用的API,如果编译器消息中没有建议替代方法,则始终值得一看Javadoc-在这种情况下,建议使用Calendar.set(...)。

Jon Skeet answered 2020-07-25T15:14:29Z

5 votes

这意味着您通常不应该在新代码中使用它,因为它很危险,或者因为存在更好的替代方法。 当在不推荐使用的代码中使用或覆盖不推荐使用的程序元素时,编译器会发出警告。

对于您的情况,可以使用java.util.Date类代替java.util.Date。

顺便说一下,在Java 8和更高版本中,这些旧类已被新的java.time包(教程)所取代。 受Joda-Time启发,由JSR 310定义,并由ThreeTen Extra项目扩展。 旧的类仍然存在,您可以继续使用它们(同时避免使用不赞成使用的部分),但是建议您过渡到新的类。

missingfaktor answered 2020-07-25T15:14:58Z

4 votes

弃用意味着它是做某事的旧方法或旧方法,应避免使用。

根据本文档[http://java.sun.com/j2se/1.4.2/docs/api/java/util/Date.html,],请使用Calendar.set(...)。

Daniel A. White answered 2020-07-25T15:15:25Z

3 votes

这是一个代码片段,可帮助您迁移代码。 两种打印是相同的。

import java.util.Calendar;

import java.util.Date;

public class Tinker {

public static void main(String[] args) {

int Y = 2015; // Year 2015

int M = 11; // 0..11 -- December

int D = 15; // 15th

int H = 16; // 4:00 PM

int MN = 28; // 4:28 PM

int S = 41; // 4:28:41

Date d = new Date(Y-1900,M,D,H,MN,S);

System.out.println(d);

Calendar c = Calendar.getInstance();

c.set(Y, M, D, H, MN, S);

d = c.getTime();

System.out.println(d);

}

}

输出:

Tue Dec 15 16:28:41 CST 2015

Tue Dec 15 16:28:41 CST 2015

ChrisCantrell answered 2020-07-25T15:15:54Z

2 votes

由于已弃用,意味着您不应该真正使用它。 您可以改用日历从字段生成日期。

Paul McKenzie answered 2020-07-25T15:16:14Z

1 votes

不推荐使用,则不建议使用此构造函数,并且在以后的Java版本中可能会删除它。 使用日历API。

EJB answered 2020-07-25T15:16:34Z

0 votes

通常不建议使用,表示不鼓励使用该功能。

由于某种原因或其他原因,已经决定如果没有Java,Java会更好(因为存在更好的替代方法,因此您应该使用它),因此可能会将Java从将来的版本中删除。 弃用基本上是一个警告,“尽管将来我们可以将其保留更长的时间,以便将来有机会将其从代码中删除,但将来可能会删除它”

jalf answered 2020-07-25T15:16:59Z

0 votes

弃用意味着核心API和其他Java库不依赖于它,它表示您有更好的方法。

Premraj answered 2020-07-25T15:17:19Z

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值