[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends] java.sql.Dateを日付判定に利用する
>関係ないですけどキャストの問題はコピーメソッドをclone()以外の
>メソッドとして実装して、そこからsuper.clone()すれば使用者がキャストを
>かけなくてもよくなるような気が・・・
キャストしなくて済むといえば、
clone() ではありませんが java.sql.Date.valueOf(String s) という
staticメソッドを日付の文字列判定のために使ってみました。
Java-Houseメーリングリストには java.util.GregorianCalendar を使う
例が投稿されていましたが、これだと 1998 98 24 といった変な日付でも
オーケーになってしまいます。
java.sql.Date だと、java.sql.Date date1 = java.sql.Date.valueOf("1998-98-24");
と書いて、date1.toString() とやると "2006-01-24" が返って来ます。
これは仕様としては納得できます。
何で java.sql.Date で文字列を引数にしたインスタンス生成が
コンストラクターでなくstaticメソッドになっているのか理由は分かりません。
(new しなくて済むから?)
java.sql.Date.valueOf(String s)のスーパークラスの java.util.Date には、
Date(String s) というコンストラクターがあるのですが。
---------------------------------------------------------------
遠藤靖之 (えんどう やすゆき)
E-mail: yasuyuki@xxxxxxxxxx
URL: http://members.aol.com/Eyasuyuki/ (Java互助会ホームページ)
〒171-0022 豊島区南池袋 2-14-10 瀬川池袋ビル 3F
(株)エムティシー 技術営業部
TEL 03-5396-0521 / FAX 03-5396-0525