Java
はじめに * 変数の型やクラスを調べる術を記録しておく [1] instanceof演算子 x instanceof y => 「xがyと同じクラス」か「yのサブクラスである場合」にtrueを返す。 注意1 : null時の挙動について * nullの場合、たとえ型が一致してしていてもtrueにならな…
■ はじめに 今回は、JavaのMatcher.matches() を使って 一致・不一致の判定を行う。 【1】基礎知識 1)構文 if (【文字列】.matches(【正規表現】)) { // 一致 } else { // 不一致 } 【2】サンプル 例1:BRタグかどうかを判定する * 大文字小文字を区別…
【1】Javaの例外について 大きく分けて以下の通り。 ~~~~~~~~~~~~~ 1)Error 2)Exception / 検査例外 3)RuntimeException / 実行時例外 ~~~~~~~~~~~~~ 1)Error * 例外処理では復旧できない種類の例外クラス * OutOfMemory(メモリの不足)など 2)Exc…
はじめに * 以前、後輩に「getter / setterって意味あるんですか?」って聞かれて うまく答えられず。たまたま、その関連記事を見つけたので、まとめておく。 アクセサの意義 [1] 不正な値をチェックできる [2] 代入可能で参照不可のプロパティを作れる [3] …
■ Decoratorパターン * 既存クラスのメソッドに対して、継承を使わずに ラッパークラス(機能を一つひとつかぶせていくイメージ)を作ることで 機能追加を行うデザインパターン ■ 使いどころ * 機能を追加(拡張)する場合 ■ 登場人物 Component (部品) * 機…
■ はじめに https://dk521123.hatenablog.com/entry/2014/01/29/222538 目次 【1】Template Method パターン 【2】使用実例 【3】デメリット 【4】サンプル 【1】Template Method パターン * 具体的な処理をサブクラスにまかせるデザインパターン ⇒ プ…
Queue `#`キュー備考 1ArrayBlockingQueue固定要領の配列に基づくキュー 2LinkedBlockingQueue 3PriorityBlockingQueue 4SynchronousQueue 5PriorityQueue優先順位で並べ替えるキュー 6DelayQueue時間後経過しなければ要素を取り出すことの出来ないキュー 7C…
Set * 重複がないコレクション 利点 / 使いどころ * Listと比較して、パフォーマンスがいい (以下の参考文献のサンプルを実行させれば分かるが速度は明らかに違う) http://d.hatena.ne.jp/greennoah/20090114/1231936654 http://mosamosaatama.blogspot.jp/2…
■ Mapについて * C# の Dictionary と同じ * Javaにも Dictionary はあるが、↓だそうです。 「注:このクラスは現在使われていません。 新しい実装では、このクラスを拡張しないで Map インタフェースを実装してください。」 http://docs.oracle.com/javase/j…
[1] クラス * クラスの継承できないようにする サンプル final class SampleClass { } public class SubSampleClass extends SampleClass { // コンパイルエラー } [2] メソッド * クラスのオーバーライドができないようにする サンプル public class Sample…
特徴 クラスに適用した場合 * 継承させることが必須となる * そのクラスは、インスタンス化できなくなる メソッドに適用した場合 * そのメソッドは、オーバーライドが必須となる * そのメソッドは、処理内容を記述できない * そのメソッドのクラスにも、abst…
解決方法 Deprecatedを使う 構文 クラス @Deprecated public class SampleClass{ メソッド /** * @deprecated この関数使わないで下さい {@link #setNumber(int)} */ public void setNum(int num) { 警告を出さないようにするには @SuppressWarnings("deprec…
■ はじめに * C# でいう「カスタム属性」は、Javaでは「アノテーション(Annotation)」という ■ サンプル * ただ、作っても面白くないので、C#の時に作成した (下記の関連記事「属性(アトリビュート) ~カスタム属性~」を参照のこと) Enumを利用したメッ…
サンプル SampleClass.java import java.util.Locale; public class SampleClass { public static void main(String[] args) { Locale locale = Locale.ENGLISH; System.out.println("Locale.ENGLISH"); System.out.println("toString : " + locale.toString…
enumについて * C# とは、大分違く、ほとんどクラスのように扱え、プロパティやメソッド(abstractも)の追加可能 (以下の関連記事「■ プロパティやメソッドの追加」「■ 各Enum値での独自処理を記載する」 を参照のこと。) http://blogs.yahoo.co.jp/dk52112…
javadoc javadoc用コメントのテンプレート生成 * 対象のメソッド・クラスのまで「/**」を記述し、Enterキー押下 javadocの生成 * [project]-[Generate javadoc...] を選択 javadocの要素 @version バージョン情報 @param 引数名/説明 @return 戻り値/説明 @s…
List * C# の List と同じ(ただ、C#の List はクラスだが、Java の List はインターフェース) * list.get(0) で取得(C# の list[0] と同じ) * list.size() (C# の list.length と同じ) ■ 空のリストを返す Collections.emptyList(); を使用する 参考文献…
■ カレントディレクトリの取得 new File(".").getAbsoluteFile().getParent() or System.getProperty("user.dir") を使う サンプル System.out.println(new File(".").getAbsolutePath()); System.out.println(new File(".").getAbsoluteFile().getParent())…
ジェネリック(Generics)について 利点 * キャストが省略できる * 誤った型を指定した場合、ビルドエラーになる 構文 [1] ジェネリック(何も制限なし) public class SampleA <T> { public void setName(T value) { // 略 } } [2] 境界型 (Bounded Type) // S</t>…
スレッドの休止・中断 1)sleep() * 指定した時間だけ現在実行中のスレッドを休止させる 2)yield() * 現在処理中のスレッドを一時休止し、 他のスレッドに実行の機会を与える 3)interrupt() * 休止中のスレッドに割り込みを入れるメソッド 処理を一時停…
■ 可変引数 サンプル private void Sample(String... values) { ■ String.format * C#と同じだが、プレースホルダの形が違う(C言語のprintfの%sや%dなどと同じ) => C# と同じプレースホルダを使用したい場合は、以下の関連記事を参照のこと。 http://blogs…
【1】設定手順 1)EasyMock をダウンロードする * 下記URLからEasyMockを取得する。 => ここから、取らずにMainページから取得したものを 使ったのでコンパイルされずにはまった。。。 http://www.easymock.org/Downloads.html 2)ダウンロードしたJarをE…
独自例外 例外に関するメモ 1. RuntimeExceptionを継承すれば、catchしたり、メソッドのthrowsリストに指定する必要はなくなる * ThrowableのサブクラスErrorとRuntimeExceptionは、例外処理は任意であるため * 逆に、それ以外のサブクラスは、コンパイル時…
■ はじめに Java に関するパス・ファイルの扱いについて書き溜めていく。 目次 【1】ファイル名を取得する 1)正規表現で実装したサンプル 2)別解 【2】拡張子を取得 / 変更する 【1】ファイル名を取得する import java.io._ File in = new File(input…