あなたの問題は、年と月を別の値として扱うことに起因しているようです。代わりに、それらを組み合わせてください。年と月の単位で考えてください。
年月
クラスJava には、この概念のクラスが含まれています。これは、 YearMonth
という適切な名前が付けられており、java.time パッケージ內(nèi)にあります。
または、Month
列挙を使用して、有効な値を確認(rèn)します。
マップ
を使用できます。 NavigableMap
を使用して、キーを並べ替えられた順序に保ちます。
値が入力されているかどうかをテストします。
リーリーテキスト目的の場(chǎng)合は、デフォルトの ISO 8601 形式を使用します: YYYY-MM
java.time クラスは、テキストの解析/生成時(shí)にデフォルトで ISO 8601 形式を使用します。
リーリーデータベースが年と月のデータ型を提供しないと仮定すると、そのような文字列をデータベースに格納するために使用できます。このデータ型を提供するデータベースを私は知りません。だから言葉だけで十分なんです。
アルファベット順に並べ替えると、値も時(shí)系列に並べ替えられることに注意してください。
JSON は次のようになります:
リーリー