JavaのJComboBoxへの項目の追加方法

Javaにおいても、バージョンが上がっていくうちに、いつの間にかこれまで問題なくコンパイルできたコードに問題が発生することがあります。JavaのコンボボックスであるJComboBoxを作成するだけでも、意外に以下のような「注意」が表示されることがあります。

注意:入力ファイルの操作のうち、未チェックまたは安全ではないものがあります。
注意:詳細は、-Xlint:uncheckedオプションを指定して再コンパイルしてください。

このようなことが起こらないようなJComboBoxオブジェクトの作り方を何種類かご紹介します。

変数をオブジェクトより先に作る。項目を後で入れる。

private JComboBox<String> jcombox;
jcombox = new JComboBox<>();
jcombox.addItem("a");
jcombox.addItem("b");

文字列でも、文字列の配列でも、記述方法は同じです。

String[] its = {"a", "b"};
private JComboBox<String> jcombox;
jcombox = new JComboBox<>();
jcombox.addItem(its);

変数をオブジェクトと同時に作る。項目を後で入れる。

private JComboBox<String> jcombox = new JComboBox<>();
jcombox.addItem("a");
jcombox.addItem("b");

変数をオブジェクトと同時に作る。項目も同時に入れる。

String[] its = {"a", "b"};
private JComboBox<String> jcombox = new JComboBox<String>(its);

VBAのDate型が正確に比較ができない

VBAのDate型は日付と時刻を取り扱えますが、正確に比較ができないことがあるようです。十分に検証ができていませんが、Date型変数をDateAdd関数で処理すると、比較において問題が起こる場合があります。例えば、Date型変数dt1とdt2において秒単位で同じであるにもかかわらずdt1=dt2が偽となる場合があるようです。このような場合でも、

DateDiff("s", dt1, dt2)

は0となるので、DateDiffを用いて時刻が同じかどうかを判断すると良いでしょう。