Java Tips
Eclipse でプロジェクトの JRE バージョンをいじったりすると次のようなメッセージが表示されることがある。 Java compiler level does not match the version of the installed Java project facet.今回は Java のバージョンを 1.6 から 1.8 に変更したら出…
Eclipse のデフォルトでは "import static hoge.fuga.*" のようなソースの記述があった場合、import 文の整理を行うと勝手に "static import hoge.fuga.piyo" のように整理されてしまう。例えば、 package org.yyama; import static org.hamcrest.CoreMatche…
Eclipse の豆知識。javaでコーディングしていると頻繁に import 文を追加したり消したりする。けっこう面倒くさい。不要になった import 文には警告が表示される。 Ctrl + Shift + O のショートカットでこれら不要な import 文は整理してくれるのだが、更に…
Spring Frameworkを使用して開発をしていると、XMLでbean定義しているはずなのに[No qualifying bean of type]とか[beanが定義されていません]のようなエラーが出てはまるときがある。そんなときは本当にSpringのコンテキストにbeanが登録されているかどうか…
WEBアプリケーションでよく利用されるアプリケーションサーバTomcatをインストールする。インストールと言ってはいるものの、実際にはファイルを展開して置くだけである。Tomcatは軽量なサーブレットJSPコンテナであり、java言語で作成されたサーブレットやJ…
Eclipseで開発中のアプリの挙動がおかしくなったとき、プロジェクトのクリーンを試すことが多い。一日中開発をしているときは、プロジェクトを選択して[Project]→[Clean...]を1日何回押すことか。頻繁な操作はショートカットで一瞬で操作したい。今日はプロ…
Windowsで複数バージョンのJDKを入れたい場合など、インストーラからインストールできない。ここでは、インストーラを使用せず、JDKをマシンに入れる方法をメモしておく。インストールしちゃうと「バージョンアップしろ!」とかうるさいしね。 JDKダウンロー…
Java1.5 から可変長引数が使えることになり、maimメソッドも、 public static void main(String[] args) {} が、 public static void main(String... args) {} のようにかけるようになりました。こう書くことのメリットはいろいろあるでしょうが、何より最近…
printfを使って書式を整えるとき、いちいち「%」の後ろは何だっけ?とか桁数指定はどうやるんだっけ?とか調べている俺の現実があるので、まとめました。今回はlongのみです。以下のパターンで実際の書式の与え方と出力のされ方を見てみます。 ※「桁数指定(8…
と思ったら、バグのようで、JDK1.7u21では、直っていました。どういう現象化かというと、 public class Main { public static void main(String[] args) { for (String s : args) { System.out.println(s); } } } この場合に、引数に「C:\aaa\bbb\ D:\ccc\ee…
かつて JDBC 経由でデータベースにアクセスする場合、こういうおまじないがありました。(Java SE 6 以降はドライバの指定方法が変更されているので不要です。「[JDBC はいつから Class.forName() が必要なくなったのか」) Class.forName("oracle.jdbc.driv…
前回の続きですが、時刻でも同じです。 たとえば8時52分60秒は、文字列をDate型にパースする際に、厳密な解析を行わなければ8時53分0秒と解釈されます。 public class DateSample { public static void main(String[] args) { DateFormat dt = new SimpleDat…
2013年には2月29日がありませんが、SimpleDateFormat で厳密な解析を行わない(デフォルトの)場合、勝手に2013年3月1日と解釈してくれます。 public class DateSample { public static void main(String[] args) { DateFormat dt = new SimpleDateFormat("y…