山崎屋の技術メモ

IT業界で働く中でテクノロジーを愛するSIerのシステムエンジニア👨‍💻 | AndroidとWebアプリの二刀流🧙‍♂️ | コードの裏にあるストーリーを綴るブログ執筆者✍️ | 日々進化するデジタル世界で学び続ける探究者🚀 | #TechLover #CodeArtisan、気になること、メモしておきたいことを書いていきます。

Java Tips

【Eclipse】Java compiler level does not match・・・のエラー

Eclipse でプロジェクトの JRE バージョンをいじったりすると次のようなメッセージが表示されることがある。 Java compiler level does not match the version of the installed Java project facet.今回は Java のバージョンを 1.6 から 1.8 に変更したら出…

【Eclipse】 static import を整理させない

Eclipse のデフォルトでは "import static hoge.fuga.*" のようなソースの記述があった場合、import 文の整理を行うと勝手に "static import hoge.fuga.piyo" のように整理されてしまう。例えば、 package org.yyama; import static org.hamcrest.CoreMatche…

【Eclipse】自動で import を整理する。

Eclipse の豆知識。javaでコーディングしていると頻繁に import 文を追加したり消したりする。けっこう面倒くさい。不要になった import 文には警告が表示される。 Ctrl + Shift + O のショートカットでこれら不要な import 文は整理してくれるのだが、更に…

【Spring Framework】 登録されているBeanの一覧を表示

Spring Frameworkを使用して開発をしていると、XMLでbean定義しているはずなのに[No qualifying bean of type]とか[beanが定義されていません]のようなエラーが出てはまるときがある。そんなときは本当にSpringのコンテキストにbeanが登録されているかどうか…

Tomcat9 インストール

WEBアプリケーションでよく利用されるアプリケーションサーバTomcatをインストールする。インストールと言ってはいるものの、実際にはファイルを展開して置くだけである。Tomcatは軽量なサーブレットJSPコンテナであり、java言語で作成されたサーブレットやJ…

Eclipse、クリーンをショートカットで実行する

Eclipseで開発中のアプリの挙動がおかしくなったとき、プロジェクトのクリーンを試すことが多い。一日中開発をしているときは、プロジェクトを選択して[Project]→[Clean...]を1日何回押すことか。頻繁な操作はショートカットで一瞬で操作したい。今日はプロ…

java(JDK)をインストールしないで利用する

Windowsで複数バージョンのJDKを入れたい場合など、インストーラからインストールできない。ここでは、インストーラを使用せず、JDKをマシンに入れる方法をメモしておく。インストールしちゃうと「バージョンアップしろ!」とかうるさいしね。 JDKダウンロー…

Eclipseでかっこいいmainメソッドをテンプレートに登録

Java1.5 から可変長引数が使えることになり、maimメソッドも、 public static void main(String[] args) {} が、 public static void main(String... args) {} のようにかけるようになりました。こう書くことのメリットはいろいろあるでしょうが、何より最近…

java printf 使用例 longバージョン

printfを使って書式を整えるとき、いちいち「%」の後ろは何だっけ?とか桁数指定はどうやるんだっけ?とか調べている俺の現実があるので、まとめました。今回はlongのみです。以下のパターンで実際の書式の与え方と出力のされ方を見てみます。 ※「桁数指定(8…

JDK1.7u17では引数の円マーク(¥)が消える!?

と思ったら、バグのようで、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…

Class.forNameの意味

かつて JDBC 経由でデータベースにアクセスする場合、こういうおまじないがありました。(Java SE 6 以降はドライバの指定方法が変更されているので不要です。「[JDBC はいつから Class.forName() が必要なくなったのか」) Class.forName("oracle.jdbc.driv…

SimpleDateFormatの厳密な・・・ 時刻バージョン

前回の続きですが、時刻でも同じです。 たとえば8時52分60秒は、文字列をDate型にパースする際に、厳密な解析を行わなければ8時53分0秒と解釈されます。 public class DateSample { public static void main(String[] args) { DateFormat dt = new SimpleDat…

SimpleDateFormatの厳密な・・・setLenient の使い方

2013年には2月29日がありませんが、SimpleDateFormat で厳密な解析を行わない(デフォルトの)場合、勝手に2013年3月1日と解釈してくれます。 public class DateSample { public static void main(String[] args) { DateFormat dt = new SimpleDateFormat("y…