Java

スポンサーリンク
Java

Java | Java 詳細・モダン文法:ラムダ式・関数型 – Function

Function を一言でいうとjava.util.function.Function<T, R> は、「T 型の値を 1 つ受け取って、R 型の値を 1 つ返す“変換処理”を表す関数型インターフェー...
Java

Java | Java 詳細・モダン文法:ラムダ式・関数型 – Predicate

Predicate を一言でいうとjava.util.function.Predicate<T> は、「T 型の値を 1 つ受け取って、true / false を返す“条件判定関数”を表す関数型イン...
Java

Java | Java 詳細・モダン文法:ラムダ式・関数型 – @FunctionalInterface

@FunctionalInterface を一言でいうと@FunctionalInterface は、「このインターフェースは“関数型インターフェース”として使うつもりですよ」とコンパイラに宣言するた...
Java

Java | Java 詳細・モダン文法:ラムダ式・関数型 – 関数型インターフェース

関数型インターフェースを一言でいうと関数型インターフェースは、「たった1つだけ“抽象メソッド”を持つインターフェースで、その1つのメソッドを“関数”として扱うための入れ物」です。ラムダ式は「単体では宙...
Java

Java | Java 詳細・モダン文法:ラムダ式・関数型 – ラムダ式の構文

ラムダ式とは何か(まずイメージから)ラムダ式は、Java 8 から入った「小さな“処理そのもの”を値として書くための記法」です。「このタイミングで、こういう処理を実行してほしい」という“やりたいこと”...
Java

Java | Java 詳細・モダン文法:ジェネリクス – ジェネリクスの制約

「ジェネリクスの制約」を一言でいうとJava のジェネリクスには、「こう書けたら便利そうだけど、仕様上あえて禁止されていること」 がいくつもあります。new T() が書けないT[](ジェネリック配列...
Java

Java | Java 詳細・モダン文法:ジェネリクス – ジェネリクスメソッド

ジェネリクスメソッドを一言でいうとジェネリクスメソッドは、「メソッドの“中だけ”で使える型パラメータを宣言して、そのメソッドを型安全に汎用化する仕組み」です。public static <T> T f...
Java

Java | Java 詳細・モダン文法:ジェネリクス – PECS 原則

PECS 原則を一言でいうとPECS 原則は、ジェネリクスのワイルドカードを使うときの合言葉です。Producer Extends, Consumer Super「値を“生産する(取り出す)側”には ...
Java

Java | Java 詳細・モダン文法:ジェネリクス – 下限境界(super)

下限境界(super)を一言でいうとジェネリクスの下限境界 ? super T は、「このコレクションは T か、その“親クラスたち”のどれかを要素型として持つ。だから、T を入れるのは安全だよ」と宣...
Java

Java | Java 詳細・モダン文法:ジェネリクス – 上限境界(extends)

上限境界(extends)を一言でいうとジェネリクスの上限境界(extends)は、「この型パラメータには、あるクラス T か、そのサブクラスだけを許可します」と制限をかけるための仕組みです。<T e...
Java

Java | Java 詳細・モダン文法:ジェネリクス – ワイルドカード(?)

ワイルドカード(?)を一言でいうとジェネリクスのワイルドカード ? は、「ここには“何らかの型”が入るけど、具体的な型は気にしない・決めたくない」というときの “あいまいな型パラメータ”です。List...
Java

Java | Java 詳細・モダン文法:ジェネリクス – ジェネリクスと配列の違い

テーマの全体像を先にまとめるジェネリクス(List<String> など)と配列(String[])は、どちらも「同じ型の要素をたくさん持つ」ために使いますが、中身のルールやチェックのタイミングがかな...
Java

Java | Java 詳細・モダン文法:ジェネリクス – 型消去の概念

型消去を一言でいうと型消去(type erasure)は、「ジェネリクスの <T> みたいな型情報は“コンパイル時だけ”に使われて、コンパイル後のクラスファイル(実行時)からは消えてしまう」という仕組...
Java

Java | Java 詳細・モダン文法:ジェネリクス – 型パラメータの宣言

「型パラメータの宣言」を一言でいうと型パラメータの宣言は、「クラスやメソッドの“名前の横に” <T> などを書いて、ここには後で具体的な型をはめ込みますよ、と宣言すること」です。class Box<T...
Java

Java | Java 詳細・モダン文法:ジェネリクス – ジェネリクスとは

ジェネリクスを一言でいうとジェネリクス(generics)は、「クラスやメソッドの中に “型の穴” を開けておいて、使うときにその穴に好きな型をはめられる仕組み」です。List<String> や M...
Java

Java | Java 標準ライブラリ:CompletableFuture 基礎

CompletableFuture を一言でいうとCompletableFuture は、「将来終わる“非同期の計算結果”を表す箱(Future)に対して、『終わったらこれをして、その後これをして…』...
Java

Java | Java 標準ライブラリ:Future

Future を一言でいうとjava.util.concurrent.Future は、「別スレッドで走っている“将来の計算結果”を受け取るための“約束の箱”」です。時間のかかる処理を Executo...
Java

Java | Java 標準ライブラリ:ExecutorService 概要

ExecutorService を一言でいうとExecutorService は、「スレッドを自分で new せずに、”仕事(タスク)だけ” を投げれば、いい感じに別スレッドで実行してくれる仕組み」で...
Java

Java | Java 標準ライブラリ:Timer / TimerTask

Timer / TimerTask を一言でいうとTimer と TimerTask は、「指定した時間後に、あるいは一定間隔で、“別スレッドで” 処理を実行してくれるシンプルなタイマー機能」です。「...
Java

Java | Java 標準ライブラリ:Base64

Base64 を一言でいうとjava.util.Base64 は、「バイナリデータ(画像・PDF・任意のバイト列)を、テキスト(英数字+記号)だけで安全にやり取りできるように変換するためのクラス」です...
Java

Java | Java 標準ライブラリ:UUID

UUID を一言でいうとjava.util.UUID は、「ほぼ絶対に重ならない“ランダムな ID” を簡単に作るためのクラス」です。データベースの主キー、ファイル名、トークン、セッションID など、...
Java

Java | Java 標準ライブラリ:Locale

Locale を一言でいうとjava.util.Locale は「このユーザー(or この処理)は、どの言語・どの国・どの地域のルールで動けばいいのか」を表すための“タグ”です。英語なら en、日本語...
Java

Java | Java 標準ライブラリ:ResourceBundle

ResourceBundle を一言でいうとjava.util.ResourceBundle は、「画面メッセージや文言を、言語ごと・国ごとに切り替えるための仕組み」です。アプリのソースコードに日本語...
Java

Java | Java 標準ライブラリ:Properties クラス

Properties クラスを一言でいうとjava.util.Properties は、「文字列のキーと文字列の値を、設定ファイル的に管理するためのクラス」です。ざっくり言うと、Map<String,...
Java

Java | Java 標準ライブラリ:StackTrace の読み方

StackTrace を一言でいうとStackTrace(スタックトレース)は、「例外が発生したときに、そのときの『呼び出し履歴』を上から順に全部並べたもの」です。どのクラスの、どのメソッドの、どの行...
Java

Java | Java 標準ライブラリ:RuntimeException を使う判断

RuntimeException を一言でいうとRuntimeException は、「“呼び出し側に明示的な例外処理を強制したくはないが、異常はちゃんと知らせたい” ときに使う例外の親クラス」です。...
Java

Java | Java 標準ライブラリ:カスタム例外

カスタム例外を一言でいうと「カスタム例外」は、自分のアプリやライブラリ専用の例外クラスを新しく定義して、エラーの意味を分かりやすく、扱いやすくするためのものです。NullPointerExceptio...
Java

Java | Java 標準ライブラリ:非チェック例外

非チェック例外を一言でいうと「非チェック例外(unchecked exception)」は、“コンパイラが try-catch や throws 宣言を強制してこない例外”かつ“たいていはプログラマー...
Java

Java | Java 標準ライブラリ:チェック例外

チェック例外を一言でいうと「チェック例外(checked exception)」は、“この失敗は普通に起こりうるから、呼び出し側でちゃんと対処を考えろ” とコンパイラが迫ってくる例外です。ファイルがな...
Java

Java | Java 標準ライブラリ:例外階層構造

例外階層構造を一言でいうとJava の「例外階層構造」は、「エラーの種類を、親子関係(クラスの継承)で整理した“族譜”」です。この“族譜”を理解しておくと、どの例外をキャッチすべきかどこで throw...
スポンサーリンク