技術メモ

これまでに公開しているオープンソースのコードを見て貰えばわかるのだが、ここに付属しているユニットテストは通常「こうやれ」というやり方では記述していない。そんな必要は無いし、この方が便利だと思うからである。これについて解説する。 ...

技術メモ

必要に迫られて任意のクラスが内部クラスかどうかを判定しなくてはならなくなった。普通の人はこんなものは不要と思う。妙な書き方をしてしまった妙なプログラム~クラスがずらずらと並べられたテーブルを前にして、これを判定する必要に迫られた。

技術メモ

Javaプログラムを国際化対応する場合に、どの言語を選択すべきかはLocaleを見れば良いことはわかっているのだが、具体的にどうすれば良いのか?

デフォルトのLocaleと日本語ロケール

デフォルトを取得するには、Local ...

技術メモ

Java開発環境、つまりJDKには様々なツールがあるのだが、この標準出力をプログラムによって取得して何かしらの自動処理を行いたい場合に困るのが、Localeによって勝手にメッセージが変わってしまう点だ。

日本語Window ...

技術メモ

Javaでは昔からThreadという非同期実行の仕組みがあるのだが、これとは別にJava1.5からExecutorServiceというものが追加された。これについて解説する。

単純な置き換え

まず、例外処理が面倒なのでsle ...

技術メモ

ジェネリックメソッドでは、その文脈で実際の型が特定されるのだが、これが容易な場合と困難な場合がある。特にラムダ式を使いたい場合に問題になる。

サンプルで使用するクラス

以下のクラスをこの後のサンプルで使用する。

pub ...

技術メモ

ジェネリックス型情報は保持される

一般にJavaではコンパイル時にのみジェネリックス情報が使われ、バイナリ(.class)になった時には消えてしまうと説明されることが多いのだが、そんなことは全くない。
そもそも.classに型パ ...

技術メモ

Javaソースコードのimportの解析をしたいので、まずJavaソースコードからコメントを除去することを考えた。
おそらくJavaソースコードの解析をするシステムはいくらでもあるものと思われるが、あまりに大掛かりなものは避け ...

技術メモ

※Javaプログラムのパッケージ間の循環依存を調べるライブラリ及びツールを/tag/depDetectとして作成したので参照されたい。

以下は.javaソースファイルのすべてのimport文を取得する試みであるが、現在はJ ...

技術メモ

SpotBugsについての投稿は/tag/SpotBugsにあるので参照されたい

恥ずかしながら、これまでFindBugsというものを使ったことが無かった。使い方は非常に簡単だし、使ってみると「これは行ける」という感触がす ...