Javaの日付と時刻のクラスの紹介
Javaの日付と時刻のクラスは、java.utilパッケージにあります。日付と時刻のクラスが提供するメソッドを使用して、現在の日付と時刻を取得し、日付と時刻のパラメーターを作成し、時間を計算して比較できます。
日付クラス
日付クラスはJavaの日付と時刻のクラスであり、多くの建設方法があります。
日付():現在の日付と時刻を使用してオブジェクトを初期化します。
日付(長いミリセック):1970年1月1日(グリニッジ時間)の00:00から始まるミリ秒単位での時間を計算し、ミリセックミリ秒を計算します。 Javaプログラムが実行されているローカルタイムゾーンが北京タイムゾーン(グリニッジ時間から8時間)である場合、日付DT1 =新しい日付(1000)。
日時を表示する例をご覧ください。
import java.util.date; public class demo {public static void main(] {new date(); long msec = da.gettime();
実行結果:
月曜日2月05日22:50:05 CST 2007 1970年1月1日の0:00から今まで:1170687005390ミリ秒
いくつかの一般的に使用される日付クラスのメソッド:
時間を表す日付オブジェクトのデフォルト順序は、週、月、日、時間、分、2年目です。 The Time Displayの形式を変更する必要がある場合は、「SimpleDateFormat(String Pattern)」メソッドを使用できます。
たとえば、異なる形式の出力時間:
import java.util.date; import java.text.simpledateformat; public static void main(] {date da = new date();新しいsimpledateformat( "yyyyy year mm dd day e beijing time"); ss seconds "); system.out.println(ma2.format(-1000));}}実行結果:
日曜日1月1日17:31:36 CST 2015 2015年1月4日北京時間北京時間:1970年1月1日07:59:59:59:59:59:59:
カレンダークラス
抽象クラスカレンダーは、ミリ秒単位で時間を有用な時間コンポーネントに変換できるようにする一連のメソッドを提供します。カレンダーはオブジェクトを直接作成することはできませんが、静的メソッドgetInstance()を使用して、次のような現在の日付を表すカレンダーオブジェクトを取得できます。
カレンダーカレンダー= calendar.getInstance();
このオブジェクトは、次の方法を呼び出して、カレンダーを指定された時間に変換できます。
void set(int year、int month、int date); void set(int year、int month、int date、int hour、int minute); void set(int year、int month、int date、int hour、in t分。 、int second);
年、月、時間、週などに関する情報を呼び出すには、次の方法を呼び出すことでそれを行うことができます。
int get(int field);
ここで、パラメーターフィールドの値は、カレンダークラスの静的定数によって決定されます。その中には、年は年を表し、月は月を表し、時間は時間を表し、時間は次のような分を表します。
calendar.get(calendar.month);
返品値が0の場合、現在のカレンダーは1月、返品1が2月などを表す場合などを意味します。
カレンダーで定義されたいくつかの一般的な方法を次の表に示します。
グレゴリアンカレンダークラス
グレゴリアンカレンダーは、グレゴリオカレンダーを実装するカレンダークラスを具体的に実装するクラスです。カレンダークラスのgetInstance()メソッドは、グレゴリアンカレンダーを返します。グレゴリアンカレンダーは、デフォルトの領域とタイムゾーンの下で現在の日付と時刻に初期化されます。
グレゴリアンカレンダークラスは、それぞれBCとポストADを表すADとBCの2つのフィールドを定義しています。デフォルトのコンストラクターGregorianCalendar()は、デフォルトの領域とタイムゾーンの現在の日付と時刻でオブジェクトを初期化することもできます。
GregorianCalendar(Locale Locale); GregorianCalendar(TimeZone TimeZone); GregorianCalendar(TimeZone TimeZone、Locale Locale);
GregorianCalendarクラスは、カレンダークラスですべての抽象的なメソッドの実装を提供し、いくつかの追加の方法も提供します。
Boolean isleapyear(int year);
年が跳躍年である場合、メソッドは真実であり、それ以外の場合は偽りです。
Javaオブジェクトクラス
オブジェクトクラスはJava.Langパッケージにあり、すべてのJavaクラスの祖先であり、Javaの各クラスはそこから拡張されています。
Javaクラスを定義するときに親クラスが表示されない場合、オブジェクトクラスはデフォルトで継承されます。例えば:
パブリッククラスのデモ{// ...}実際には、次のコードの略語です。
パブリッククラスのデモはオブジェクトを拡張します{// ...}
Javaでは、数値、文字、ブール値などのオブジェクトではないオブジェクトではなく、オブジェクト配列であろうと、オブジェクトクラスから継承されます。
オブジェクトクラスは、いくつかの有用な方法を定義します。これらのメソッドは、他のクラスに存在し、それらの特定の機能を実装しています。
equals()メソッド
オブジェクトクラスのequals()メソッドは、オブジェクトが別のオブジェクトに相当するかどうかを検出します。
パブリックブールエコール(オブジェクトOBJ)
例えば:
obj1.equals(obj2);
Javaでは、データに相当するデータの基本的な意味は、2つのデータの値が等しいことを意味します。 equals()と "=="を比較すると、参照型データは参照型データ、つまりメモリアドレスを比較し、基本データ型は値を比較します。
知らせ:
equals()メソッドは参照タイプのみを比較でき、「==」は参照タイプと基本型を比較できます。
equals()メソッドと比較すると、クラスファイル、文字列、日付、ラッパーのクラスの場合、リファレンスが同じインスタンスであるかどうかを考慮せずにタイプとコンテンツを比較します。
「==」と比較する場合、シンボルの両側のデータ型は同じでなければなりません(自動的に変換できるデータ型を除く)。メソッドは、参照タイプである限り、可能です。
HashCode()メソッド
ハッシュコードは、特定のアルゴリズムに従ってオブジェクトから得られる数値であり、ハッシュコードは通常ではありません。 xとyが異なるオブジェクトである場合、x.hashcode()およびy.hashcode()は基本的に同じではありません。
HashCode()メソッドは、主にクイック検索やコレクションにその他の操作を実装するために使用され、オブジェクトの比較にも使用できます。
Javaでは、ハッシュコードの規定は次のとおりです。
同じアプリケーションの実行中、HashCode()が同じオブジェクトで呼び出される場合、同じ整数結果を返す必要があります - equals()で比較された情報が変更されていない場合。異なる実行期間中に同じアプリケーションによって得られたコール結果については、一貫性を保つ必要はありません。
2つのオブジェクトがequals()メソッドによってequalsとして扱われている場合、両方のオブジェクトでHashCode()を呼び出す必要があります。同じ整数結果を取得する必要があります。
2つのオブジェクトがequals()メソッドによって不均等として扱われている場合、両方のオブジェクトでHashCode()を呼び出すと、異なる整数結果が生成される必要はありません。ただし、プログラマーは、異なるオブジェクトに対して異なる整数結果を生成すると、ハッシュテーブルの効率を改善する可能性があることを認識する必要があります(コレクションフレームワークのクラスは後で学習される)。
簡単に言えば、2つのオブジェクトが同じ場合、2つのオブジェクトのハッシュコード値が同じである場合、それらは必ずしも同じではありません。 Java仕様では、通常、equals()メソッドをHashCode()メソッドでオーバーライドする必要があると規定されています。
toString()メソッド
toString()メソッドは、オブジェクトクラスで定義されているもう1つの重要なメソッドであり、構文は次のとおりです。
public string toString()
戻り値は型文字列で、現在のオブジェクトに関する情報を説明します。オブジェクトクラスで実装されているtoString()メソッドは、現在のオブジェクトのタイプとメモリアドレスの情報を返すことですが、一部のサブクラス(文字列、日付など)で書き換えられ、ユーザーで書き換えることもできます。必要に応じて定義されたタイプ。
オブジェクトのtoString()メソッドを明示的に呼び出すことに加えて、文字列やその他のタイプのデータを接続すると、toString()メソッドが自動的に呼び出されます。
上記の方法は、Javaでよく使用されます。