Java

スポンサーリンク
Java

Java | Java 標準ライブラリ:auto-unboxing

auto-unboxing は「ラッパークラスから中身を自動で取り出す仕組み」まず前提から整理します。Java には、値そのものの 基本型(プリミティブ型) とそれをオブジェクトとして包んだ ラッパー...
Java

Java | Java 標準ライブラリ:auto-boxing

auto-boxing は「基本型 ↔ ラッパー型の自動変換」まず前提として、Java には基本型(プリミティブ型)int, long, double, boolean, char などラッパークラス...
Java

Java | Java 標準ライブラリ:ラッパークラス全体像

ラッパークラスとは何かをざっくりつかむJava の「ラッパークラス」は、int や double のような プリミティブ型(基本型)を “オブジェクトとして包んだクラス” です。対応はこうなっています...
Java

Java | Java 標準ライブラリ:Optional.ifPresent

ifPresent は「値があるときだけ処理するためのスイッチ」Optional.ifPresent は、「Optional の中に値が“入っているときだけ” この処理を実行してね」と言うためのメソッ...
Java

Java | Java 標準ライブラリ:Optional.orElse / orElseGet

Optional.orElse / orElseGet は「無いときどうするかを決めるメソッド」Optional は「あるかもしれないし、ないかもしれない値」を入れる箱でした。では、その箱が「空だった...
Java

Java | Java 標準ライブラリ:Optional.of / ofNullable

Optional.of / ofNullable の役割をざっくりつかむOptional を「値を入れる箱」と考えると、Optional.of と Optional.ofNullable は「箱に値を...
Java

Java | Java 標準ライブラリ:Optional の目的

Optional は「null をそのまま渡さないための箱」java.util.Optional は、簡単に言うと「あるかもしれないし、ないかもしれない値」を入れて渡すための“箱”です。それだけ聞くと...
Java

Java | Java 標準ライブラリ:文字コード(Charset)

文字コードと Charset を直感でつかむまず前提から整理します。コンピュータの中では、文字は「バイト列(0と1の並び)」として保存・送信されます。一方、Java の String は「文字そのもの...
Java

Java | Java 標準ライブラリ:split の落とし穴

split は「正規表現で区切る」メソッドだという前提String#split は、 「文字列を区切り文字で分割する」メソッド ですが、まず一番大事なポイントは「引数は“ただの区切り文字”ではなく、“...
Java

Java | Java 標準ライブラリ:Matcher の使い方

Matcher は「正規表現パターンを文字列に当てていく実行役」前回の Pattern の話とつなげると、役割分担はこうです。Pattern「正規表現(パターン)そのもの」を表す。何度も使い回せる“型...
Java

Java | Java 標準ライブラリ:正規表現(Pattern)

正規表現と Pattern クラスの関係をざっくりつかむ「正規表現(regex)」は、「文字列の **“パターン” を言葉で書くための小さな言語」だと思ってください。「数字3桁‐数字4桁の電話番号」「...
Java

Java | Java 標準ライブラリ:文字列比較の正解

なぜ「文字列比較」はつまずきポイントなのかJava 初心者がほぼ確実に一度はハマるのが、文字列比較でのミスです。見た目は同じ "abc" なのに、なぜか比較結果が false になる、if が通らない...
Java

Java | Java 標準ライブラリ:文字列結合のパフォーマンス

なぜ「文字列結合のパフォーマンス」を気にする必要があるのかJava では文字列を扱う機会がとても多いです。ログ、SQL の組み立て、メッセージ生成、CSV 出力など、気づけばどこも文字列だらけになりま...
Java

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

StringBuffer はどんなクラスか(まず全体像)StringBuffer は、ざっくり言うと「中身を書き換えられる文字列バッファ」「スレッドセーフな StringBuilder」です。役割自体...
Java

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

なぜ StringBuilder が必要になるのかまず前提として、String は「イミュータブル(不変)」です。一度作られた String の中身は絶対に変わりません。その結果、こういうコードを書く...
Java

Java | Java 標準ライブラリ:String のイミュータブル性

「イミュータブル」ってそもそも何?まず言葉から整理します。「イミュータブル(immutable)」は「不変」という意味です。Java の String はイミュータブルなので、一度作られた Strin...
Java

Java | Java 標準ライブラリ:String クラスの特性

String クラスは「特別扱い」されているクラスString は、Java で文字列を扱うためのクラスです。でも、ただのクラスではなく「言語レベルで特別扱い」されている存在です。ダブルクォーテーショ...
Java

Java | Java 標準ライブラリ:clone の注意点

まず「clone は基本おすすめされない」という前提からいきなり結論から言うと、Object#clone() は「あるけど、できれば使わない方がいい API」です。理由はシンプルで、挙動が分かりにくい...
Java

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

getClass は「そのオブジェクトの正体を教えてくれるメソッド」getClass() は、Object クラスが持っているメソッドで、「このオブジェクトは、実際にはどのクラスのインスタンスなのか」...
Java

Java | Java 標準ライブラリ:hashCode 契約

hashCode 契約って何のこと?hashCode() は「オブジェクトを、整数の“番号”に変換するメソッド」です。主に HashMap や HashSet などの「ハッシュを使うコレクション」で使...
Java

Java | Java 標準ライブラリ:equals の正しい使い方

equals は「同じインスタンスか?」ではなく「意味として同じか?」を見るequals は「この2つのオブジェクトは“意味として”同じものと言えるか?」を判定するメソッドです。ここでまず大事なのが=...
Java

Java | Java 標準ライブラリ:toString の使いどころ

toString は「中身を一瞬で覗くための窓」toString() は「このオブジェクトを、人間にとって読みやすい文字列にするとしたら、どう表現するか?」を返すメソッドです。System.out.p...
Java

Java | Java 標準ライブラリ:Object クラスの役割

Object クラスってそもそも何者かjava.lang.Object は「Java に登場するすべてのクラスの“ご先祖さま”」です。あなたがこう書いたクラスもpublic class User {}...
Java

Java | Java 標準ライブラリ:java.lang パッケージ概要

java.lang パッケージとは何かjava.lang は、「Java でプログラムを書くときに、ほぼ必ず使う“基本中の基本”がまとまったパッケージ」です。特徴としてimport を書かなくても、勝...
Java

Java | オブジェクト指向:小規模アプリの設計演習

この演習で目指すことここでは「小さいアプリ」を題材にしながら、オブジェクト指向でどう設計していくかを、最初から最後まで追体験してもらいます。難しいフレームワークは使いません。シンプルな Java のク...
Java

Java | オブジェクト指向:実務でよくある設計ミス

実務でよくある「設計ミス」とは何か実務でよく見る設計ミスは、「一発でシステムが壊れるような爆発」ではなく、最初は普通に動くけれど、時間が経つほどコードが重く・遅く・触りたくなくなっていく、そんなタイプ...
Java

Java | オブジェクト指向:オブジェクト指向的リファクタリング

オブジェクト指向的リファクタリングとは何かリファクタリング自体は「外から見た動きを変えずに、コードの中身(設計・構造)だけを良くしていく作業」です。オブジェクト指向的リファクタリングというときは、単に...
Java

Java | オブジェクト指向:パッケージ命名規則

パッケージ命名規則って何のためにあるのかパッケージ名は「このコードはどこの誰が書いた、何のグループなのか」を表すラベルです。クラス名が「1人の役者の名前」だとしたら、パッケージ名は「その人が所属してい...
Java

Java | オブジェクト指向:メソッド名の付け方

なぜメソッド名がそんなに大事なのかメソッド名は「このメソッドが何をするか」を一言で表すラベルです。ここが雑だと、コードを読むたびに「これ何してるんだっけ?」と中身を開いて確認する羽目になります。逆に、...
Java

Java | オブジェクト指向:クラス名の付け方

クラス名をつける前に知っておきたいことクラス名は、「このクラスは何者か」を一言で説明するラベルです。クラス名だけで、そのクラスの役割や意味がある程度イメージできるのが理想です。逆に言うと、クラス名があ...
スポンサーリンク