Tbpgr Blog

Ruby プログラマ tbpgr(てぃーびー) のブログ

パーフェクトJava

書籍 パーフェクトJava | アノテーション

パンくず 書籍 パーフェクトJava アノテーション 概要 Javaのアノテーションについて。 アノテーションはプログラムの構成要素に付与するメタ情報。 アノテーションを修飾子として適用することを「アノテーションの適用」と呼ぶ。 アノテーションの記述 publ…

書籍 パーフェクトJava | リフレクション | オブジェクトの生成と操作

パンくず 書籍 パーフェクトJava リフレクション オブジェクトの生成と操作 概要 Javaのリフレクションのオブジェクトの生成と操作について。 オブジェクトの生成 以下の2つの方法でインスタンスの生成が可能です。 ClassクラスのnewInstanceメソッド Constr…

書籍 パーフェクトJava | リフレクション | 型情報の取得

パンくず 書籍 パーフェクトJava リフレクション 型情報の取得 概要 Javaのリフレクションの型情報の取得について。 内容 インターフェースか判断 isInterface配列か判断 isArray基本か判断 isPrimitiveenumか判断 isEnum※その他詳細はサンプルコード参照 サ…

書籍 パーフェクトJava | リフレクション | Classクラスのインスタンス取得方法について

パンくず 書籍 パーフェクトJava リフレクション 概要 Javaのリフレクションについて。 リフレクションとは実行中に型情報を取得し、 型そのものを操作対象とする仕組み。 Classクラス Classクラスは、型情報を保持するクラス。 フィールド一覧やメソッド一…

書籍 パーフェクトJava | パッケージ

パンくず 書籍 パーフェクトJava パッケージ 概要 Javaのパッケージについて 単一インポート 個別に型指定したインポート。 オンデマンドインポート アスタリスクを使用したインポート。 パッケージ以下の全型名を単一インポートするのと同じ。 インポートの…

書籍 パーフェクトJava | ジェネリックス

パンくず 書籍 パーフェクトJava ジェネリックス 概要 Javaのジェネリックスについて パラメータ化された型 ジェネリックスのインスタンス 型変数 ListのEに当たる部分 型引数 ListのStringに当たる部分 型変数名の慣例 変数名 由来 E element K key V value…

書籍 パーフェクトJava | スタックトレース

パンくず 書籍 パーフェクトJava スタックトレース 概要 Javaのスタックトレースについて Javaのスタックトレース 以下の構文でStackTraceを取得出来ます。 Thread.currentThread().getStackTrace() サンプルコード 1階層目 package perfect.trace; public c…

書籍 パーフェクトJava | 配列

パンくず 書籍 パーフェクトJava 配列 概要 Javaの配列について Javaの配列 Java配列はオブジェクトです。初期化時に{}を使用した場合、最後のカンマを残しても問題ありません。 これは、Javaのコードを生成する場合に楽をできる要素なのです。例えば System…

書籍 パーフェクトJava | コレクションの技法

パンくず 書籍 パーフェクトJava コレクションの技法 概要 Javaのコレクションの技法について Javaのコレクションの技法 関数的なコレクション コレクション自体を変更せず、あらたなコレクションを返却する。 破壊的なメソッド、副作用のあるメソッドは使用…

書籍 パーフェクトJava | マップのループ処理

パンくず 書籍 パーフェクトJava マップのループ処理 概要 Javaのマップのループ処理について Javaのマップのループ処理 三種類のリストを扱える keyリスト Map#keySet valueリスト Map#values key,valueの組み合わせリスト Map#EntrySet その他 ソート済みM…

書籍 パーフェクトJava | デック(deque・double ended queue)

パンくず 書籍 パーフェクトJava デック 概要 Javaのデックについて JavaのDeque 両端キュー。 先頭、末尾への要素追加や削除をサポートする。 サンプルコード package perfect.deq; import java.util.ArrayDeque; import java.util.Deque; import java.util…

書籍 パーフェクトJava | セット HashSetとLinkedSetとTreeSet

パンくず 書籍 パーフェクトJava セット 概要 Javaのセットについて JavaのSet 重複のない要素の集まり。 HashSet,LinkedSet,TreeSetの構造については MapのHashMap,LinkedMap,TreeMapと同じ。 ※Mapはこちらを参照 サンプルコード package perfect.set; impo…

書籍 パーフェクトJava | マップ HashMapとLinkedMapとTreeMap

パンくず 書籍 パーフェクトJava マップ 概要 Javaのマップについて JavaのMap キーと値のペアを扱う場合、JavaではMapを使用します。 キーが無ければ新規作成。 キーがあれば値を上書きます。 Mapのインターフェース 項目名 処理内容 containsKey キーの存…

書籍 パーフェクトJava | 線形探索と二分探索

パンくず 書籍 パーフェクトJava 線形探索と二分探索 概要 Javaの線形探索と二分探索について Javaの線形探索(リニアサーチ)と二分探索(バイナリサーチ) 先頭から順次比較するような探索を線形探索、 真ん中の要素で分割しながら比較するような探索を二…

書籍 パーフェクトJava | リスト ArrayListとLinkedList

パンくず 書籍 パーフェクトJava リスト 概要 Javaのリストについて Javaのリスト 順序どおり並んだ集まりを扱う場合、JavaではListを使用します。 Listのインターフェース 項目名 処理内容 add 要素の追加 contains 要素の存在チェック get 要素の取得 inde…

書籍 パーフェクトJava | コレクションフレームワーク

パンくず 書籍 パーフェクトJava コレクションフレームワーク 概要 Javaのコレクションフレームワークについて Javaのコレクションフレームワーク Javaでは「モノの集まり」を扱う機能としてコレクションフレームワークが 用意されています。 他の古い言語な…

書籍 パーフェクトJava | 初期化ブロック

パンくず 書籍 パーフェクトJava 初期化ブロック 概要 Javaの初期化ブロックについて Javaの初期化ブロック コンストラクタ全体で共通して利用したい初期化コードを使いたい場合は 初期化ブロックを利用します。初期化ブロックは複数定義可能で、上から順に…

書籍 パーフェクトJava | 可変長引数

パンくず 書籍 パーフェクトJava 可変長引数 概要 Javaの可変長引数について Javaの可変長引数 任意の型の任意の数の引数を取るには下記の文法を利用します。 public void printWords(String... words) { for (String word:words) { System.out.println(word…

書籍 パーフェクトJava | シグネチャ

パンくず 書籍 パーフェクトJava シグネチャ 概要 Javaのシグネチャについて Javaの シグネチャ メソッドの名前と引数の型の並びを表す。 メソッドを一意に特定するために必要な情報。 戻り値はシグネチャに含まれないことに注意。

書籍 パーフェクトJava | 仮引数と実引数

パンくず 書籍 パーフェクトJava 仮引数と実引数 概要 Javaの仮引数と実引数について Javaの仮引数と実引数型 仮引数と実引数は以下のようになります。 // message => 仮引数 public void printMessage(String message) { System.out.println(message); } //…

書籍 パーフェクトJava | 参照型変数

パンくず 書籍 パーフェクトJava 参照型変数 概要 Javaの参照型変数について Javaの参照型変数型 参照型変数は参照を保持します。 サンプルコード package perfect.variable; public class Perfect4_1_5 { /** * @param args */ public static void main(Str…

書籍 パーフェクトJava | 基本型変数

パンくず 書籍 パーフェクトJava 基本型変数 概要 Javaの基本型変数について Javaの基本型変数型 基本型変数は値そのものを保持します。 対象は以下型名 ・boolean ・byte ・char ・short ・int ・long ・float ・double サンプルコード package perfect.var…

書籍 パーフェクトJava | 型変換

パンくず 書籍 パーフェクトJava 型変換 概要 Javaの型変換について Javaの型変換型(縮小変換) 数値型は、値の範囲が収まる場合にキャストを利用することで 型変換を行うことが出来ます。 値が収まらない場合はオーバーフローを起こすため注意が必要です。 …

書籍 パーフェクトJava | final変数

パンくず 書籍 パーフェクトJava final変数 概要 Javaのfinal変数について Javaのfinal変数型 finalは再代入禁止を意味します。 注意すべき点としては、変数の参照は変更不可能ですが 参照しているオブジェクトの値を変更することは可能だということです。 …

書籍 パーフェクトJava | 文字について

パンくず 書籍 パーフェクトJava 文字について 概要 文字について 文字について Javaの文字はUnicodeで扱われます。 Unicodeは1文字2バイトで取り扱われるため、 Javaで文字を表すデータ型であるcharは2バイトの数値で表されます。通常のJavaの処理は文字列…

書籍 パーフェクトJava | Object#toStringについて

パンくず 書籍 パーフェクトJava Object#toStringについて 概要 Object#toStringについてについて Object#toStringについて Object#toStringはデフォルトでそのオブジェクトのハッシュコードを返却します。標準出力で利用するSystem.out.printlnの引数にオブ…

書籍 パーフェクトJava | 文字列から数値への変換

パンくず 書籍 パーフェクトJava 文字列から数値への変換 概要 文字列から数値への変換について 文字列から数値への変換 各データ型#parseXxx(String) 各データ型#valueOf(String) によって型変換可能です。 前者のほうが変換効率が良いため前者を利用するこ…

書籍 パーフェクトJava | 数値から文字列への変換

パンくず 書籍 パーフェクトJava 文字列から数値への変換 概要 数値から文字列への変換について 数値から文字列への変換 String#valueOf(各データ型) によって型変換可能です。 サンプルコード public class Perfect2_2_7_1 { /** * @param args */ public s…

書籍 パーフェクトJava | 文字列の大小比較

パンくず 書籍 パーフェクトJava 文字列の大小比較 概要 Javaで文字列の大小を比較する方法について 文字列の大小比較 文字列の大小比較はStringクラスのcompareToで行います。 サンプルコード public class Perfect2_2_6_3 { /** * @param args */ public s…

書籍 パーフェクトJava | 文字列の比較

パンくず 書籍 パーフェクトJava 文字列の比較 概要 Javaで文字列を比較する方法について Stringの文字列の中身を比較する際の注意点 String同士を==で比較してもオブジェクトの比較になるため 文字列が同一でも真とならず、偽を返却します。文字列リテラル…