私はこのようなDate
を作成しようとしています:
_date = new Date(year-1900, mon-1, day, hrs, min, sec);
_
eclipseから次の警告が出されます:「コンストラクターDate(int, int, int, int, int)
は非推奨です」。
コンストラクタが非推奨になるとはどういう意味ですか、どうすればよいですか?
非推奨とは、文字通りの不承認を意味しますが、より正確な翻訳はretiredです。 非推奨とは、このメソッドが引き続き使用可能であることを意味しますが、使用しないでください。徐々に段階的に廃止されます。同じことを行う新しいメソッドがあります。非推奨のメソッドには、特別なJavadocコメントが付いています。
_/**
*@deprecated Please now use newMethod()
*@see newMethod()
*/
_
使用:
Calendar.set(year + 1900, month, date, hrs, min)
または
GregorianCalendar(year + 1900, month, date, hrs, min)
。提案どおり APIドキュメントによる 。
つまり、新しいコードで使用しないでください。これは通常、何かを達成するためのより良い方法がある場合に当てはまりますが、下位互換性のために古い方法が維持されます。
代わりに、couldCalendar
APIを使用できます。完全なメッセージがあなたに示唆するように-または(より良いIMO)を使用できます- Joda Time またはJava 8の_Java.time
_パッケージ( tutorial を参照)。両方ともfar優れた日付/時刻API。
非推奨のAPIに関しては、コンパイラメッセージが代替案を提案しない場合、常にJavadocを見る価値があります-この場合は、 Calendar.set(...)
。
つまり、通常は危険であるため、またはより優れた代替手段が存在するため、新しいコードで使用しないでください。コンパイラは、非推奨のコード要素で非推奨のプログラム要素が使用またはオーバーライドされると警告を発します。
あなたの場合、 Java.util.Calendar
の代わりに Java.util.Date
クラスを使用できます。
ところで、Java 8以降では、これらの古いクラスは新しい Java.timeパッケージ (- チュートリアル )に取って代わられます。 Joda-Time で定義され、 JSR 31 で定義され、 ThreeTen Extra プロジェクトで拡張されます。古いクラスはそのまま残り、引き続きそれらを使用します(非推奨の部分は避けます)が、新しいクラスに移行することをお勧めします。
非推奨とは、それが何かを行うためのレガシーまたは古い方法であり、避けるべきであることを意味します。
このドキュメントによると http://Java.Sun.com/j2se/1.4.2/docs/api/Java/util/Date.html 、Calendar.set(...)
を使用します。
コードの移行に役立つコードスニペットを次に示します。両方のプリントは同じです。
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
非推奨であるため、実際には使用しないでください。代わりに、カレンダーを使用してフィールドから日付を生成できます。
deprecatedは、このコンストラクターの使用が推奨されていないことを意味し、Javaの将来のリリースで削除される可能性があります。 Calendar APIを使用します。
非推奨とは、一般的に、この関数を使用しないことを意味します。
何らかの理由で、Javaはそれなしでより良いと判断されました(より良い代替手段が存在し、代わりにそれを使用する必要があるため)、そしてmight Javaの将来のバージョンから削除されます。非推奨は基本的には「これは将来削除される可能性がありますが、最初にコードから削除する機会を与えるために少し長く保持していますが、 」
非推奨の手段コアAPIと他のJavaライブラリはそれに依存せず、より良い方法があると言っています。